ひと段落して?すっきりw
「飽きたのかw」というコメント、的確すぎるw
次に向けて少しやった事。
衝突したオブジェクトにデータ(変数)を送りたい
------------------------------------------------
var a = 10;
function OnTriggerEnter(col : Collidier){
col.SendMessage("Uketore",a);
}
・当たったオブジェクトのスクリプト
function Uketore(a:int){
print(a);
}
------------------------------------------------
これでunityの下のバー(console)に”10”と表示されるはず。
※col.SendMessage("Uketore",a); function Uketore(a:int)
の”Uketore”は何でも良い(笑)
AのオブジェクトからBのオブジェクトにデータを送りたい時に使う。
しかし、調べたところSendMessageは送ることしか出来ない?
だから送った後、相手からデータをもらう事が出来ない。
”col.gameObject.変数” みたいな書き方が出来ればいいんだけど。
衝突したオブジェクトにデータ(変数)をもらいたい
-------------------------------------------------
・当たったゲームオブジェクトにレスポンスもらいたいゲームオブジェクト
var oreore : GameObject;
function Start(){
oreore = this.gameObject;//oreoreに自分のGameObjectデータを入れる
}
function OnTriggerEnter(col : Collidier){
col.SendMessage("Uketore",oreore);//oreore(GameObjectデータ)を送る
}
function Iranai(b:int){
print(b);
}
・当たったゲームオブジェクトに
var b = 4649;
function Uketore(oreore:GameObject){
oreore.SendMessage("Iranai",b);//oreore(送ってきた奴のGameObject)にデータを送る
}
----------------------------------------------------
こっちはSendMessageで自分のGameObject情報を送って、
そのGameObject情報に対してまたSendMessageでデータを送り返してる。
すごい回りくどい。方法は他にありそう。GetComponent当たりが怪しいが良く理解できなかった。
何がしたかったのかというと、
・キャラクター(味方)側の当たり判定(コリジョン)で敵にダメージを送る。
・敵が死んだら倒したキャラクターに経験値を送りたい。
複数当たり判定が成立してる場合があるから敵のコリジョンで返すわけにはいかない?
やろうと思えば色々と方法はあるんだろうけど、その中から最適な方法を見つけるのがプログラマーだと思う。
相変わらず自分は力技だな~
※今し方やったやり方なのでちゃんと動かなかったらごめんなさい。