忍者ブログ

ぶろぐ ばーじょんいち

趣味全開です! Z/X、ポケモン、艦これなどゲーム関係が多め

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【Unity】左右移動

前回キャラクタの制御がうまくいかなかったので今回はスクリプトを書いてみました。
2Dアクションを作るため上下キーを無効にして左右移動だけできるようにしました。

以下のものがコードになります。


#pragma strict

var walkSpeed : float = 4.0;
var runSpeed : float = 8.0;

private var velocity : Vector3;

function Update() {
var controller : CharacterController = GetComponent(CharacterController);
velocity = Vector3(Input.GetAxis("Horizontal"), 0, 0);

if(Input.GetAxis("Run"))
velocity *= runSpeed;
else
velocity *= walkSpeed;

if(0.0f < Input.GetAxis("Horizontal"))
transform.rotation=Quaternion.Euler(0,0,0);
else if(0.0f > Input.GetAxis("Horizontal"))
transform.rotation=Quaternion.Euler(0,180,0);

controller.Move(velocity * Time.deltaTime);
}


Vector3の第3変数を0にすることで上下キーの入力が無効になりました。
velocity = Vector3(Input.GetAxis("Horizontal"), 0, 0);

また、InputのRun(元はJump)に設定したキーが押されるとダッシュモードになります。
if(Input.GetAxis("Run"))

最後に左右キーの入力によってキャラクタの向きを変えました。
右キー入力 0.0f < Input.GetAxis("Horizontal")
左キー入力 0.0f > Input.GetAxis("Horizontal")

参考にしたページ
http://code.google.com/p/vga-unity/wiki/GP10UnityCourse10
PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

フリーエリア

最新CM

[07/14 名無しのリーク]

プロフィール

HN:
せい
性別:
男性
趣味:
ゲーム
自己紹介:
香川でポケモンや遊戯王を中心に色々やってます。
所持デッキ → こちら
twitter → https://twitter.com/Sei_ver1

バーコード

ブログ内検索

P R

カウンター