2012-10-16 21 views
1

我遇到了這個事件的一些問題。我最近纔開始開發HTML5遊戲,並使用LimeJS。下面的代碼在我將它設置爲在場上或者剝奪者身上進行偵聽時不會觸發警報,它只會響應遊戲。是我做錯了我做事的順序或其他導致事件不發射的事嗎?LimeJS goog.event.listen沒有對孩子開火

謝謝您的閱讀。

//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

修正了有人在LimeJS板:

的問題在我的代碼是setAnchorPoint與數組作爲參數調用。 setAnchorPoint允許2個數字或一個goog.math.Vec2對象。圖層沒有錨點(因爲它們沒有和高度)。

所以它應該是:。 menulayer =新lime.Layer()的setPosition(0668),

和 VAR字段=新lime.Sprite()的setSize(1024,568).setAnchorPoint(0 ,0).setFill( '資產/ field1.jpg');