体験版DL:http://db.tt/EL20Q837
なんとか体験版まで出来た。今回はセーブも実装出来た。
バグとかエラーとか無いといいなー。
これで、まどマギTDシリーズは一旦休憩。
あとはほとんど素材作りだけになると思うし。
このゲーム制作で色々とスキルアップ出来たのは大きな収穫。
今回覚えた便利なやつ
・SendMessage
・transform.Find
・true/false
・for
・switch
・自分が実際やった方法。
まずHierarchyからplaneを作ります。
(※別で作ったplaneでも何でもいいけどポリゴン数が低いのは注意)
マテリアルを新規作成し、ShaderをUnit→Transparent Cutout。
アルファ値を含んだテクスチャを用意。自分で作れなかったら↓の画像を保存。※ちょっと雑
マテリアルのInspectorにあるAlpha cutoff、これで画像の表示領域(アルファ)を指定出来るっぽいので
これを弄ってLifeを表現してみる。
----------------------------------------
var life : float;//現在のLife
var lifeMax : float;//最大のLife
var damage : int;//ダメージ量
var lifeScale : float = 1.0;//現在のLife/最大のLife (0.0~1.0の数値にする)
var green : Texture2D;
var yellow : Texture2D;
var red : Texture2D;
function Update () {
if(Input.GetKeyDown("z")){//"z"キー押したらLife減らす
life -= damage;
}
if(Input.GetKeyDown("x")){//"x"キー押したらLife増やす
life += damage;
}
if(lifeScale >= 0.8){//残りLifeが80%以上だったら
renderer.material.mainTexture = green;
}
else if(lifeScale >= 0.3){//残りLifeが30%以上だったら
renderer.material.mainTexture = yellow;
}
else{//残りLifeが30%以下だったら
renderer.material.mainTexture = red;
}
lifeScale =life / lifeMax;//残りLifeの%
renderer.material.SetFloat("_Cutoff",1-lifeScale);//alpha cutoffの数値指定
}
---------------------------------------
Inspectorに出来たlife、lifeMax、damageに好きな数値を入れる。
赤字はLifeバーの色も変えたかったら。
・後で気付いて、こっちのほうが楽だと思ったけど、そうでもなかった方法。
Lifeバー(plane)のスケールを弄って表現する。
その場合、バーの中心でスケールが小さくなるので、
空のGameObjectを用意して、その下にバーを置く。
GameObjectの中心でスケールのサイズをLifeに比例させる。
-----------------------------------------------
var life : float;
var lifeMax : float;
var damage : int;
var lifeScale : float = 1.0;
var lifeBar : Transform;//LifeBarのゲームオブジェクト
function Start(){
lifeBar = transform.Find("LifeBar");//LifeBarのゲームオブジェクト検索
}
function Update () {
if(Input.GetKeyDown("z")){
life -= damage;
}
if(Input.GetKeyDown("x")){
life += damage;
}
if(lifeScale >= 0.8){
renderer.material.mainTexture = green;
}
else if(lifeScale >= 0.3){
renderer.material.mainTexture = yellow;
}
else{
renderer.material.mainTexture = red;
}
lifeScale = life / lifeMax;
transform.localScale.x = lifeScale;
}
----------------------------------------
赤字はLifeバーの色も変えたかったら。
色を変える条件とかもっと良い書き方がありそうな感じ。
あと、Lifeバーはカメラのほうを常に向いていたほうがいい(ビルボード表示)けど、自分はよく理解していない…。