游戏展示:
玩法说明:
将所有钱币翻转成金色则胜利,但翻转一个钱币的同时会导致周围钱币跟着进行翻转。
节点使用:
Layer | 1个 | Button | 17个 |
Text | 1个 | View | 16个 |
Item | 2个 | ViewItem | 32个 |
Group | 17个 |
实现流程:
1、界面的设置
mainbg的item节点作为游戏主背景模板,将Resource下的背景图片拖拽到item节点的Source中。
2、钱币的封装
每一个Group对应一个钱币,Button节点中加载钱币背景图,防止钱币图片出现穿模现象,将金币和银币分别放置在view节点中。
3、钱币翻转逻辑实现
通过在button中设置自定义属性来控制钱币的翻转。
通过一个bool变量isfb用来判定当前钱币的向上面是金币还是银币,用一个int变量isch的变换来进行点击钱币翻转的信号发送,然后周围钱币接收该信号并进行翻转。
这里钱币的翻转有两个原因:1、直接点击钱币导致翻转 2、点击周围钱币导致翻转
根据这两个原因需要设置两个翻转钱币的信号量,不然钱币只要接收到翻转信号就会进行翻转并接着发出信号导致新的翻转,从而导致钱币循环翻转。所以需要设置两个变量去接收信号。
4、胜利条件判定
胜利样例如下:
在mainbg中自定义属性pri进行初始化按钮实现,用来重置游戏;自定义属性iswin用来判定游戏是否胜利。
总结
这个工程主要用于我对ssRender的学习和使用,在学习过程中遇到的问题首先得感谢前辈们的指导,其次对于脚本的使用和逻辑上的设计如何在ssRender下实现用了一定的了解,最后还有很多不足之处以及有待提高的地方需要继续学习,比如去设置多个关卡和优化钱币的翻转效果。