1
這是我的代碼:Easeljs的HitTest和hitRadius
var spriteSheet = new createjs.SpriteSheet({
images: ["images/mario2.png"],
frames: {width:24, height:33, regX: 0, regY: 0},
animations: {
walk_right: [5, 9],
walk_up: [10, 14],
walk_down: [15, 19],
walk_left: [0, 4]
}
});
Player = new createjs.BitmapAnimation(spriteSheet);
Player.name = "Mario";
Player.gotoAndStop("walk_right");
Player.speed = 6;
Player.x = 30;
Player.y = 330;
//Player object toevoegen aan de stage
stage.addChild(Player);
var monsterspritesheet = new createjs.SpriteSheet({
images: ["images/MonsterA.png"], //image to use
frames: {width: 64, height: 54, regX: 0, regY: 0},
animations: {
walk: [0, 9, "walk", 4],
idle: [10, 20, "idle", 4]
}
});
Monster1 = new createjs.BitmapAnimation(monsterspritesheet);
Monster1.name = "Monster";
Monster1.gotoAndStop("walk");
Monster1.speed = 6;
Monster1.x = 180;
Monster1.y = 330;
stage.addChild(Monster1);
stage.update();
對於則hitTest我使用下面的代碼:
var testpos = Player.globalToLocal(Monster1.x ,Monster1.y);
if (Player.hitTest(testpos.x, testpos.y) === true)
{
console.log("HIT");
}
問題: 當我的球員是我下面的怪物,我得到的消息「HIT」,但我希望在我的玩家擊中怪物時獲得它,而不是在它下面。 我一直在玩regX和regy的玩家&怪物,但它似乎沒有工作。任何人都知道解決方案
這是非常有用的!謝謝! 你能給我一個2位圖的CollisionDectetion的例子嗎? 我試過了,但它似乎沒有任何效果。 (我可能用錯了) –
即使世界在Git倉庫中的示例文件,也有例子回購 – olsn
的自述將這項工作在EaselJS正常的形狀? – Neil