前提・実現したいこと
初心者です。まだなにがわからないのかわからないという段階です。
Unity2Dにて横スクロールのタワーディフェンスを作成しています。
ボタンを押下するとプレイヤーのMPを消費してキャラを召喚するような仕組みをつくりたいです。
ここに質問の内容を詳しく書いてください。
OnClickを使ったときに、PlayerのMPをCost分消費したときのみ、
SummonPosにCharaを呼び出すような仕組みにしたいです。
発生している問題・エラーメッセージ
現状ではボタンを押下してもプレイヤーのMPからコスト分の値を引くことが出来ていないまま、キャラが召喚されてしまいます。
エラーメッセージは特に出ていません。
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class Summon : MonoBehaviour { 7 8 public float Cost = 1.0f; 9 public GameObject Chara; 10 public GameObject SummonPos; 11 public float pMP; 12 13 public void Update(){ 14 pMP = transform.root.gameObject.GetComponent<Player> ().MP; 15 } 16 17 public void OnClick(){ 18 pMP = (pMP - Cost); 19 if (Cost > pMP)return; 20 Debug.Log ("COSTOVER"); 21 22 Vector2 tmp = GameObject.Find ("SummonPos").transform.position; 23 Instantiate (Chara, tmp,Quaternion.identity); 24 } 25}
試したこと
まだなにがわからないのかわからないという段階です。
補足情報(FW/ツールのバージョンなど)
unity2017.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/08 08:19