level 12
部分相关代码如下:
public class LittleEnemy01 : MonoBehaviour {
2016年10月20日 10点10分
1
level 12
public class LittleEnemy01 : MonoBehaviour {
public GameObject Player;//定义Player
void Update () {
if (life <= 0) {
Destroy (this.gameObject);//
Player.GetComponent<PlayerData> ().PlayerScore += 5;
Player.GetComponent<PlayerData> ().PlayerXP += 2;
}
}
2016年10月20日 10点10分
2
level 12
public class LittleEnemy01 : MonoBehaviour {
public GameObject Player;//定义Player
public int life = 10;//敌人life为10
void Update () {
if (life <= 0) {
Destroy (this.gameObject);//life<=0则破坏敌人
Player.GetComponent<PlayerData> ().PlayerScore += 5;//Player得分加5
Player.GetComponent<PlayerData> ().PlayerXP += 2;//Player经验值加2
}
}
这个脚本添加在敌人上。我在inspector栏中也将Player指定为玩家,可实际上,破坏敌人后,玩家的得分和经验值都没有增加。难道
public GameObject Player;
...
Player.GetComponent<PlayerData> ().PlayerScore += 5;
这个用法不对吗?
2016年10月20日 10点10分
3
level 10
把destory放在加分的后面试试看, 对象都销毁了,怎么可能执行后面的。
2016年10月23日 09点10分
10
实际不是这样的
2016年10月23日 10点10分
回复 用户敏已被占用 :
![[阴险]](/static/emoticons/u9634u9669.png)
用单例模式
2016年10月23日 10点10分
回复 用户敏已被占用 :就省了get组件了,你可以百度一下
2016年10月23日 11点10分