シヴァのブログ

UnityやUE4や趣味とかいろいろ...

Unityちゃんを動かしてみた Part2

f:id:shivaT:20150530000321p:plain
Unityちゃんを動かしてみた。
今回はジョイスティック、ボタンを使用。


▼参考になったサイトtsubakit1.hateblo.jp
indie-du.hatenablog.com




ややこしかったのが、
・Rect Transform
・ボタンの追加処理


「Rect Transform」については、参考サイトがわかりやすく書いています。
「ボタンの追加処理」について

元々JSで、スペースキーを押すとジャンプするような処理を書いていました。
(以下のような。)

#pragma strict

function Start () {

}

function Update () {
	var myAnimator=GetComponent(Animator);
	if (Input.GetKey(KeyCode.Space)){
		myAnimator.SetBool("Jump",true);
	} 
	var state:AnimatorStateInfo=myAnimator.GetCurrentAnimatorStateInfo(0);
	if(state.IsName("Locomotion.Jump")){
		myAnimator.SetBool("Jump",false);
	}
}


んで、
そのままJSでスマホ用にジョイスティックを使ってキャラクターを動かしたいと思い、
参考のサイトを探して見たんですが、基本C#を使ったものしか見つかりません。
これで、C#を使ってコードを書いていけばよかったんですが、
「CrossPlatformInput」をJSで書こうとしてつまづいた。


結局、C#でコードを書いたことがなかったのですがなんとかできました。

using UnityEngine;
using UnityEngine.EventSystems;
using UnitySampleAssets.CrossPlatformInput;

public class Jump : MonoBehaviour {
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
		Animator myAnimator = GetComponent<Animator>();
		if (CrossPlatformInputManager.GetButtonDown("Jump")){
			myAnimator.SetBool("Jump",true);
		} 
		AnimatorStateInfo state = myAnimator.GetCurrentAnimatorStateInfo(0);
		if(state.IsName("Locomotion.Jump")){
			myAnimator.SetBool("Jump",false);
		}
	}
}


実機で確認してできました。
ジョイスティックがなんか
変なので、参考サイトを見ながら、
「Rect Transform」を理解していく。