我遇到了一些与此事件有关的问题。我最近才开始HTML5游戏开发,我正在使用LimeJS。以下代码在我将其设置为在场地或探空器上进行侦听时不会触发警报,它仅响应游戏。这是我做错的事情或其他导致事件无法解雇的事情吗?
感谢您的阅读。
//set main namespace
goog.provide('rtstest');
//get requirements
goog.require('lime.Director');
goog.require('lime.Scene');
goog.require('lime.Layer');
goog.require('lime.RoundedRect');
// entrypoint
rtstest.start = function(){
var director = new lime.Director(document.body,1024,768).setDisplayFPS(false),
Game = new lime.Scene(),
menulayer = new lime.Layer().setAnchorPoint([0,0]).setPosition(0,668),
menubg = new lime.RoundedRect().setSize(1024,200).setPosition(512,668).setFill('assets/menubg.png');
var field = new lime.Sprite().setSize(1024,568).setAnchorPoint([0,0]).setFill('assets/field1.jpg');
var flayer = new lime.Layer().setAnchorPoint([0,0]).setPosition(0,0);
goog.events.listen(flayer,['mousedown'],function(e){
alert('derp');
});
menulayer.appendChild(menubg);
flayer.appendChild(field);
Game.appendChild(flayer);
Game.appendChild(menulayer);
director.replaceScene(Game);
}
答案 0 :(得分:0)
由LimeJS董事会成员修复:
我的代码中的问题是使用数组作为参数的setAnchorPoint调用。 setAnchorPoint允许2个数字或goog.math.Vec2对象。图层没有任何锚点(因为它们没有和高度)。
所以它应该是: menulayer = new lime.Layer()。setPosition(0,668),
和 var field = new lime.Sprite()。setSize(1024,568).setAnchorPoint(0,0).setFill('assets / field1.jpg');