纳金网

标题: 我这个脚本怎么无法计数? [打印本页]

作者: zfeng_hai    时间: 2017-8-22 23:54
标题: 我这个脚本怎么无法计数?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Pacdot : MonoBehaviour {
        public int killerNum = 0;
        public int destroyeNums = 5;
        void OnTriggerEnter2D(Collider2D co) {

                if (co.name == "pacman") {
                        Destroy (gameObject);
                        killerNum = killerNum + 1;
                        Debug.Log ("*******    "+ killerNum);
                }
               
                }
}
请高手指教。


作者: tiaoshiok1    时间: 2017-8-23 14:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: tiaoshiok1    时间: 2017-8-23 14:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: zfeng_hai    时间: 2017-8-23 15:27
谢谢你的回复。
按你说的改过来了,仍然不计数。
作者: lzdidiv    时间: 2017-8-23 16:44
改成
static public int killerNum = 0;
作者: pjbmlbb    时间: 2017-8-23 18:17
你把物体都删除了, 怎么能计数啊?
作者: luyipotato    时间: 2017-8-23 18:28
不是我说话刻薄,楼主你连这个都自己想不明白怎么回事吗?
作者: BBHHo    时间: 2017-8-23 19:52
if (co.name == "pacman") {
作者: BBHHo    时间: 2017-8-23 19:52
首先确定这个脚本不要放在准备被删除的物体上面,另外试试用 if (co.tag == "pacman")
作者: zfeng_hai    时间: 2017-8-23 23:17
首先,对所有回复我的朋友表示衷心的感谢!我刚开始学习unity,还没入门,各位的指点,多谢了。
5#的朋友指出,改成  “  static public int killerNum = 0;  ”,即对变量加上静态说明,从而固定了存储地址。问题解决了,能够正确计数。
lzdidiv 的功底不得了。tiaoshiok1   建议 killerNum++; 使之更简洁。改后的程序如下:
public class Pacdot : MonoBehaviour {
        static public int killerNum = 0;
        void OnTriggerEnter2D(Collider2D co) {
                if (co.name== "pacman") {
                        Destroy (gameObject);
                        killerNum++;
                        Debug.Log ("吃豆数量:  "+ killerNum);
                }
         }
}

作者: liu3343992    时间: 2017-8-24 09:21
zfeng_hai 发表于 2017-8-23 23:17
首先,对所有回复我的朋友表示衷心的感谢!我刚开始学习unity,还没入门,各位的指点,多谢了。
5#的朋友指 ...

你把自己删了怎么计数?你要是要删除另一个对象就要Destory(co.gameobject)而不是删除自身所在的gameobject,当然如果你要删除自身,也要在计数之后删除,这是逻辑顺序问题,把destory放到debug之后
作者: fcczhfgs    时间: 2017-8-25 11:43
zfeng_hai 发表于 2017-8-23 23:17
首先,对所有回复我的朋友表示衷心的感谢!我刚开始学习unity,还没入门,各位的指点,多谢了。
5#的朋友指 ...

这个脚本放在豆子上确实不怎么好,为什么不反过来放在pacman上,碰撞标签为豆子,pacman碰到豆子就销毁豆子并计数增加,感觉出问题的概率要小很多。




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5