cocos2d-html5学习笔记(七)--Action 讲了action判断是否结束,然后调用回调函数
来源:互联网 发布:极品飞车20优化 编辑:程序博客网 时间:2024/06/06 13:22
cocos2d-html5学习笔记(七)--Action http://blog.csdn.net/allenice1/article/details/7747461
分类: javascript cocos2d-html52012-07-14 20:53 3680人阅读 评论(0) 收藏 举报
actionfunctioncallbacknull360
Action实在太多了,有些我没有用过,这里只讲常用的Action。关于Action的其他知识,请参考陈升想的两篇关于action的教程
cocos2d-html5教程之动作CCAction
cocos2d-html5教程之动作CCAction详解2 cocos2d-html5教程之动作CCAction详解2
好的,先来一个最简单的Action
- var SimpleActon=cc.Layer.extend({
- init:function () {
- var green=cc.LayerColor.create(cc.c4(0,255,0,255),320,480);
- var flower= cc.Sprite.create("Resources/flower.png");
- //菊花太大,缩小一点,并移动一下
- flower.setScale(0.1);
- flower.setPosition(cc.ccp(100,100));
- //一个旋转的Action,2秒转一圈
- var actionBy = cc.RotateBy.create(2, 360);
- //重复运行Action,不断的转圈
- flower.runAction(cc.RepeatForever.create(actionBy));
- this.addChild(green,1,1);
- this.addChild(flower,2,2);
- this.setTouchEnabled(true);
- return true;
- }
- });
动态的效果,图片就看不到了,不过可以看一下菊花:
好的,再来一个复杂一点的。
- var ActionTest=cc.Layer.extend({
- actionArray:[],
- sq:null,
- init:function () {
- var green=cc.LayerColor.create(cc.c4(0,255,0,255),320,480);
- var flower= cc.Sprite.create("Resources/flower.png");
- //菊花太大,缩小一点,并移动一下
- flower.setScale(0.1);
- flower.setPosition(cc.p(100,100));
- //一个旋转的Action,2秒转一圈
- var actionBy = cc.RotateBy.create(2, 360);
- //重复运行Action,不断的转圈
- flower.runAction(cc.RepeatForever.create(actionBy));
- this.addChild(green,1,1);
- this.addChild(flower,2,2);
- this.setTouchEnabled(true);
- return true;
- },
- ccTouchesEnded:function (touches,event) {
- //获得点击位置,添加一个MoveTo的Action,菊花1秒内移动到这个位置
- var position=touches[0].locationInView();
- var action=cc.MoveTo.create(1,position);
- this.actionArray.push(action);
- //添加一个回调函数,其实也是一个Action
- this.actionArray.push(cc.CallFunc.create(this, this.callback,this.actionArray.length+1));
- //是否是第一次
- if (this.sq==null) {
- this.sq=cc.Sequence.create(this.actionArray);
- this.getChildByTag(2).runAction(this.sq);
- return;
- };
- //上一次是否运行结束,是的话就运行本次点击的Action
- if (this.sq.isDone()) {
- this.callback(this,this.actionArray.length-2);
- };
- },
- callback:function (sender,next) {
- //是否是最后一个Action,是的话就返回,否则运行下两个个Action(第二个是回调函数Action,cc.CallFunc)
- if (next==this.actionArray.length) return;
- this.sq=cc.Sequence.create(this.actionArray[next],this.actionArray[next+1]);
- this.getChildByTag(2).runAction(this.sq);
- }
- });
这个例子中的init部分与上一个例子是一样的,详细的我不讲了。这个例子的效果是,鼠标点击哪里,菊花就飘到哪里。如果菊花还在飘,你又点击的话,要等到上一次的Action完成之后才运行下一个Action,想一下魔兽的角色是怎么移动的。
0 0
- cocos2d-html5学习笔记(七)--Action 讲了action判断是否结束,然后调用回调函数
- action判断是否结束,然后调用回调函数
- cocos2d-html5学习笔记(七)--Action
- cocos2d-html5学习笔记(七)--Action
- cocos2d-html5学习笔记(七)--Action
- 【Cocos2d-html5游戏引擎学习笔记(9)】Action系统动作
- cocos2d html5 cc.action调用函数
- 【Cocos2d-x Lua笔记七】Action动作
- 给 action 绑定 回调函数
- spring in action 学习笔记(七)注入内部bean
- Cocos2d-x学习笔记(15)(Action动作)
- cocos2d学习笔记2--动作action
- cocos2d-x学习笔记(四)动作(Action)
- Cocos2d - Action学习总结
- 关于extjs中执行action后回调函数
- ajax回调函数中如何获取action中的数据
- struts2学习笔记(4)---------action中的方法调用
- 【Struts2学习笔记(6)】Action动态方法调用
- 编程珠玑(1):将一个n元一维向量向左旋转i个位置。例如当n=8且i=3时,向量abcdefgh 旋转为defghabc
- C#导出excel表格
- 访问者行为追踪比较——Web服务器日志与JavaScript页面标记
- ubuntu12.04下使用中文输入法
- 命令查看linux 系统的位数
- cocos2d-html5学习笔记(七)--Action 讲了action判断是否结束,然后调用回调函数
- 微软的TTS
- 树控件TreeView的一些基本操作
- dynamic web twain java免费下载及使用方法教程功能详解
- PythonChallenge闯关游戏——第1-5关
- 读取web.config配置的类WebConfigurationManager与ConfigurationManager对比
- AlertDialogue & Toast
- POJ 3348 Cows
- R语言与统计分析