都说Cocos Studio很坑,的确如此。但是Cocos Studio毋庸置疑是个偷懒的好工具。最近把曾经的项目深度结合Cocos Studio做了一遍,节省了大概2/3的代码量(可视化交互部分),但是接触了几天也遇到了一些坑。
本以为ComAudio getComponent()获取就OK了,但是获取为空。 又试了试 getChildByName(),获取node不为空(狂喜~),但即使将节点转换为ComAudio类型也不能有效对其操作。
查阅各种文档最终得到以下方法:
1
auto
level
=
CSLoader
::
createNode
(
"LevelScene.csb"
);
2 this -> addChild ( level );
3
4 //audio既是一个节点又是一个ComAudio组件,所以先获取节点再获取其组件
5 auto audio = ( ComAudio * ) level -> getChildByName ( "audio" ) -> getComponent ( "audio" );
6 audio -> playBackgroundMusic ();//播放音频
2 this -> addChild ( level );
3
4 //audio既是一个节点又是一个ComAudio组件,所以先获取节点再获取其组件
5 auto audio = ( ComAudio * ) level -> getChildByName ( "audio" ) -> getComponent ( "audio" );
6 audio -> playBackgroundMusic ();//播放音频