【发布时间】:2014-07-01 01:34:13
【问题描述】:
我最近发现了 EaselJS,我正在尝试制作一个非常简单的画布射击游戏。
我的画布宽度为 500 像素,高度为 500 像素。
当用户的鼠标进入画布时,一个目标会随着鼠标移动,应该可以射击目标(即位图)。
这应该与我们在许多网站上看到的一些广告游戏非常相似 - “使用鼠标并触摸 X 赢!”之类的。
但是,我一直在尝试做一些非常简单的事情——让目标精灵跟随用户的鼠标光标。
如果我忘记或做错了什么非常琐碎的事情,我会提前道歉。这是我的(Javascript)代码:
<script>
window.onload = function()
{
init();
}
function init()
{
var canvas = document.getElementById("my_canvas");
var stage = new createjs.Stage(canvas);
//background picture
var background_sky = new createjs.Bitmap("sky.png");
stage.addChild(background_sky);
//target sprite picture
var target_sprite = new createjs.Bitmap("target.png");
stage.addChild(target_sprite);
target_sprite.x = 150;
target_sprite.y = 150;
stage.enableMouseOver(20);
stage.on("mouseover", function(e)
{
target_sprite.x = e.stageX;
target_sprite.y = e.stageY;
stage.update();
});
stage.update();
}
</script>
如果我没记错的话,只要鼠标进入画布区域,前面的代码应该让 target_sprite 移动到鼠标的坐标。
但它不起作用。
图片已绘制,鼠标悬停事件触发,但目标精灵有时会四处移动 - 并移动到意外的(随机?)位置。
如果我将鼠标移动到 target_sprite 的位置,它会移动到左下角(递归)。而且我没有为 target_sprite 附加鼠标悬停处理程序 - 仅用于舞台。
是否可以像这样为舞台附加鼠标悬停处理程序?
我做错了什么?
【问题讨论】:
标签: javascript html canvas easeljs 2d-games