javascript - LimeJS goog.event.listen 不会对子进程触发

标签 javascript html limejs

我对此事件遇到一些问题。我最近才开始 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);

}

最佳答案

由 LimeJS 板上的某人修复:

我的代码中的问题是 setAnchorPoint 调用以数组作为参数。 setAnchorPoint 允许 2 个数字或一个 goog.math.Vec2 对象。图层没有 anchor (因为它们没有高度)。

所以应该是: menulayer = new Lime.Layer().setPosition(0,668),

和 var field = new Lime.Sprite().setSize(1024,568).setAnchorPoint(0,0).setFill('assets/field1.jpg');

关于javascript - LimeJS goog.event.listen 不会对子进程触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12915399/

相关文章:

javascript - rails 中的 rjs 类型错误?

javascript - 在 angularjs 中使用 $dirty 来检查何时编辑表单

javascript - 如何在网页中包含日历

javascript - 有类(class)元素的 child

html - 如何在完全离线的工作空间中设置 LimeJS

javascript - window.onload 内的函数

javascript - 检查 Javascript 数组以查看值是否以特定值开头

javascript - JQuery 要求添加新字段

javascript - goog.provide() - 未捕获的语法错误 : Unexpected token ILLEGAL