现在场景切换就是简单的loadScene ,请问什么方式可以实现类似cocos2dx中的TransitionFade动画?
同问,没有找到api
A场景:
this.node.runAction(cc.fadeOut(1.0));
cc.director.loadScene(‘B’);
B场景
Canvas下或background节点下
onload:function(){
this.node.runAction(cc.fadeIn(1.0));
…
}
或者将runAction那行换成this.getComponent(cc.Animation).play(‘customAnim’);
=。=暂时想到这个
好的 谢谢!
this.node.runAction(cc.fadeOut(1.0));
这个方法楼主试过吗,我试了没有任何渐变效果呢
不好意思 实际上还需要修改opacity
this.node.runAction(cc.fadeOut(1.0));需要时间,直接并列跳转场景,当然就看不到了~
所以应该用:
this.node.runAction(cc.sequence(cc.fadeOut(1.0),cc.callFunc(function(){
cc.director.loadScene(‘Scene1’)
})));
this.node.runAction(cc.fadeIn(1.0));自身又有个特性被执行对象必须是非显示状态,才可以被执行已经显示的对象当然不可能渐现~
所以应该:
this.node.setOpacity(0);
this.node.runAction(cc.fadeIn(1.0));
但是效果也不是很理想因为基于各个节点分别执行的透明度渐变,过渡中你仔细看可以看到你半透明人物精灵后边的半透明背景。
其实用cc.tintTo,转黑色最好,但是我试了试Canvas又不支持就连属性检查器里的Color选项都调不了。等下个版本吧到时候可能就有场景切换了用不着这么麻烦了。~新手做程序~~
也可能是我菜鸟
“对不起~,其实我是美工~~~呵呵呵~”
你要是美工都这么牛X了,就是在逼破我们这些码农喝农药啊, :882:
美工大神,还要请教一个问题,我的场景切换是通过按钮点击事件完成的,执行以下代码只是按钮自身实现了渐变,小白还想问一下如何让整个场景实现渐变?
this.node.runAction(cc.sequence(cc.fadeOut(1.0),cc.callFunc(function(){
cc.director.loadScene(‘Scene1’)
})));
那还是这篇帖子我回复的不全面
实现点击事件两种方法,单独脚本onLoad方法写Event方法拖拽按钮的属性检查器进行绑定,
这方法应该不行,因为再执行runAction时候用的是this.node(this当前元素,正在处理对象)肯定就是按钮啊~
恰巧我是美工尽量避免写代码用了第二种方法,你直接随便弄一个方法写在主代码比如是GameScene.js里也就是绑定在场景的Canvas(就是层级管理器顶头那个)中
例如:
gameOver: function () {
this.node.runAction(cc.sequence(cc.fadeOut(1.0),cc.callFunc(
function(){
cc.director.loadScene(‘Scene1’)
})));
},
然后在层级管理器里选择你要切换场景那个按钮里边的属性最后一项Click Events默认是0,改成1,Target选项里直接把Canvas直接给拽进来,
现在下边两个选项可以选择了Component里选择刚才说过的绑定它的主程序GameScene,下边Handler里就可以选刚写好的例子gameOver方法了
这样this.node就是当前整个场景了吧~
其实第一种方法也不是不行,你就别用this.node.什么什么了呗,你就场景运行runAction就行~~~