c语言简体版消消乐2维数组,分享做第一款消消乐的各种坑

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

接触编程满打满算一个月,之前到达内学的JAVA。

但是自己做程序,无非还是对游戏感兴趣,之前的JAVA多是做WEB后台管理,所以最近就想尝试接触一下Unity,工作之余差不多一个星期吧(楼主资质愚钝) 做了第一款消消乐,废话不多说:

第一坑(二维数组):不知道Unity里2维数组怎么写,查过资料后:Candy [ , ] candys =new Candy[7,10 ];

第二坑(消除):刚开始准备的是先横向消除,再纵向消除,但是忽略了横纵交叉形的object,一旦横向或纵向则另外的方向无法消除,所以先不消除全部存在一个集合中最后一起消除;

第三坑(消除):依然是消除,不知道怎么销毁自身,网上查了很多资料都是Destroy(gameObject);但是楼主用这个方法时就无法销毁自身这个对象,后来发现原来自己的类上命名了gameObject 这样的属性,改变了gameObject的指向,所以类属性命名是姑且不要占用gameObject, 这样它可以指向自身(暂时这么理解)

第四坑(效果的加载):这个虽然考虑到是因为时间特效没能加载即单独给他安排一个线程给他一定的时间让他完成特效,但不知道该怎么解决,后来在视频里get到用IEnumerator解决。(但说实话一点不觉的这东西好用应该有更好的方法)

第五坑 (程序崩溃):就在程序即将完全写完时程序崩溃了,这是遇到的最后一个坑,也是最麻烦的一个坑,更是楼主为啥来发帖的一个坑,程序运行Unity 死机,然后楼主杀进程,再运行再死机,看不到报错,前一秒还正常运行后一秒运行就死机,关键还看不到报错,之前写Java没遇见过软件死机,所有日志都在控制台看到,所以以为是unity软件问题,卸载安装还是不行,听说过日志这么回事,网上查哪里能看Unity的日志,后来找到日志发现之前打的桩一直在输出,最后堆栈溢出崩溃,

仔细看了一下代码猜想这是不是 IEnumerator的锅,毕竟这东西跟Java 的线程类似,一旦处理了公用数组就有可能造成线程安全问题,果然在 IEnumerator前后打了桩发现他处理的数组没有变化,导致了while循化的变成了死循环,把出问题有关数组的操作都从IEnumerator里移出来,好了整个世界清静了;

现在的写的代码还不健壮,浪费很多计算和内存,不过刚开始还是以实现功能为主,打算学一下炉石的写法,楼主这有一套消除游戏的视频教程和素材还有代码,当然这个东西网上已经有很多了,但是如果有需要留下邮箱给你们发送。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值