作者:Allenice
文章来源: http://blog.csdn.net/allenice1/article/details/7733340
复制代码
文章来源: http://blog.csdn.net/allenice1/article/details/7733340
游戏是互动的,获取用户输入至关重要。cocos2d中目前只有Layer以及其子类能够获取用户输入,即触发用户输入的事件。这个结论是我通过查看API文档猜测的,因为要触发这些事件,必须要有setIsKeypadEnabled和setIsTouchEnabled方法,而API中只有layer和其子类有这两个方法。
现在看一个例子:
- var Green=cc.Layer.extend({
-
- init:function () {
- var layer1=cc.LayerColor.create(cc.ccc4(0,255,0,255),320,480);
-
- this.addChild(layer1);
- this.setIsKeypadEnabled(true);
- this.setIsTouchEnabled(true);
-
- return true;
- },
-
- keyUp:function (key) {
- window.alert(key);
- },
-
- keyDown:function (key) {
- window.alert(key);
- },
-
- ccTouchesEnded:function (touches,event) {
- alert(touches[0].locationInView().x);
- }
- });
在绿色层左边点击一下,效果如图:
至于可以有哪些事件,自己可以查看API文档的cc.KeypadDelegate和cc.StandardTouchDelegate。