Chapter6付録

こちらは P294 タッチした場所に移動させる についてのページです。

キャラクターを移動させるためには 移動位置と、そこまでキャラクターを誘導する制御が必要になります。

1.キャラクターをスクリプトで操作してみよう!

2.指定位置に移動させよう!

fileTouchMove.js
すべて開くすべて閉じる
  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
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 
 
 
 
 
-
!
 
 
-
|
-
|
|
|
-
|
!
!
!
 
 
-
|
|
|
|
|
|
-
!
|
|
|
|
-
!
|
|
|
|
|
-
|
|
!
|
-
|
!
!
#pragma strict
 
var targetPosition : Vector3;
 
function Start()
{
}
 
function Update()
{
    if( Input.GetMouseButtonDown(0) )
    {
        var ray = Camera.main.ScreenPointToRay( Input.mousePosition );
        var hitinfo : RaycastHit;
        if( Physics.Raycast( ray, hitinfo, 1000f ) )
        {
            targetPosition = hitinfo.point;
        }
    }
}
 
function Do(root : Transform,  camera : Transform, speed : float, direction : float)
{
    var rootDirection : Vector3 = root.forward;
    var horizontal : float = Input.GetAxis("Horizontal");
    var vertical : float  = Input.GetAxis("Vertical");
            
    var stickDirection : Vector3 = new Vector3(horizontal, 0, vertical);
 
    // Get camera rotation.    
 
    var CameraDirection : Vector3 = camera.forward;
    CameraDirection.y = 0.0f; // kill Y
    var referentialShift : Quaternion = Quaternion.FromToRotation(Vector3.forward, CameraDirection);
 
    // Convert joystick input in Worldspace coordinates
    var moveDirection : Vector3 = referentialShift * stickDirection;
            
    var speedVec : Vector2 =  new Vector2(horizontal, vertical);
    speed = Mathf.Clamp(speedVec.magnitude, 0, 1);      
 
    if (speed > 0.01f) // dead zone
    {
        var axis : Vector3 = Vector3.Cross(rootDirection, moveDirection);
        direction = Vector3.Angle(rootDirection, moveDirection) / 180.0f * (axis.y < 0 ? -1 : 1);
    }
    else
    {
        direction = 0.0f;
    }
}

添付ファイル: fileTouchMove.js 599件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-07-25 (木) 17:37:03 (1789d)