開発メモ 「画像点滅,距離(magnitude)」
今回できたこと。
「プレイヤーと敵の距離が30m以内だと画像を点滅させる。」
[結果]
- プレイヤーと敵の距離が30mより遠い
- プレイヤーと敵の距離が30m以内
①Area_Warning.js
***************************************************************************
#pragma strict
var player : GameObject;
function Awake(){
player = GameObject.FindWithTag("MainCamera");
}
function Update(){
if((transform.position - player.transform.position).magnitude < 30.0){
GUI_Warning.key = true;←GUI_Warning.jsのkeyの値をtrueにする(staticだから変化する)
}else{
GUI_Warning.key = false;
}
}
***************************************************************************
②GUI_Warning.js
***************************************************************************
#pragma strict
var texture : Texture2D;//点滅させたい画像
var texture2 : Texture2D;//背景が透明で何も描かれていない画像
private var interval : float = 0.2;//画像の変化するスピード(小:速)
private var SumTime : float = 0.0;
private var showGUI : boolean = false;
static var key : boolean = false;//Area_Warning.jsで変化
function Update(){
SumTime += Time.deltaTime;
if(SumTime > interval && key == true){
showGUI = !showGUI;
SumTime = 0.0;
}
if(key == false){
showGUI = false;
}
switch(showGUI){
case true:
guiTexture.texture = texture;
break;
case false:
guiTexture.texture = texture2;
break;
}
}
***************************************************************************
[やり方]
簡単にいうと、
①のArea_Warning.jsは、敵のオブジェクトに加える。
②のGUI_Warning.jsは、GameObject > Create Other > GUI Texture でオブジェクトを作って、その中に加える。
うん。
これで、ガンダムのゲーム(エクバ)っぽく、
画像が点滅して、プレイヤーに危機を知らせることができる。
...END。