###前提・実現したいこと
unity でsliderを動かすことによって物体の速度を変えられるプログラムを書いています。
エラーメッセージは出ていないのですが、値が送られているはずの物体が動きません。
最近unity を使い始めたばかりなので、詳しく教えていただけると嬉しいです。
###発生している問題・エラーメッセージ
エラーメッセージ
###該当のソースコード
C#
1using System.Collections; 2//using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class guiscript : MonoBehaviour { 7 public Canvas canvas; 8 public Text text; 9 public Slider slider; 10 public static float value_slider; //static変数に値を格納 11 // Use this for initialization 12 void Start () { 13 canvas.enabled = false; 14 text.text = "ready..."; 15 slider = GameObject.Find ("Slider").GetComponent<Slider> (); //sliderを探す 16 } 17 public void OnSliderChanged(){ 18 text.text = "value = " + slider.value; 19 } 20 public void OnButtonClick(){ 21 text.text = "GO!!"; 22 } 23 // Update is called once per frame 24 void Update () { 25 if (Input.GetKey (KeyCode.Space)) { 26 canvas.enabled = true; 27 } 28 value_slider = slider.value; //sliderの値を取得して保存 29 } 30}
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Stage : MonoBehaviour { //public InputScript force; public Slider slider_s; public Rigidbody speed_r; [SerializeField] void Start() { GetComponent<guiscript> (); slider_s = GameObject.Find ("Slider").GetComponent<Slider> (); //slider_s.value = guiscript.value_slider; //Debug.Log (slider_s.value); speed_r = GetComponent<Rigidbody> (); } void FixedUpdate(){ slider_s.value = guiscript.value_slider; Debug.Log (slider_s.value); speed_r.velocity = new Vector3 (0.0f,0.0f,slider_s.value*Time.deltaTime); } }
###試したこと
上のプログラムのguiscriptでsliderの値を保存して、下のプログラムのStageで値を持ってきています。Debugでslider_s.valueの値は出るのですが、stageは動きません。
何か設定が必要なのでしょうか。
###補足情報(言語/FW/ツール等のバージョンなど)
Unity5.6.1f
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/26 03:39