表示できるようになったスプライトを任意の位置に表示したり、アニメーション(カードの表裏を切り替える)を任意に発動するには、しシーン内オブジェクトに対して、スクリプトを割り当てます。
まずは、私の場合、神様的なオブジェクトを作ります。シーン内の全ての親のようなオブジェクトです。
[GameObject]->[Create Empty]で空オブジェクトを追加し、名前を"Card""God"に変更します。
そして、Assets配下に例えば「Scripts」というフォルダを作成し、次のような二つのスクリプトを置きます。
God.cs
using UnityEngine;
using System.Collections;
public class God : MonoBehaviour {
public static bool isLeft;
public static bool isRight;
public static bool isUp;
public static bool isDown;
public static bool isReverse;
public void Start()
{
}
public void Update()
{
//カーソル左、右、上、下、スペースが押されることで下記フラグがtrueになる
isLeft = false;
isRight = false;
isUp = false;
isDown = false;
isReverse = false;
if(Input.GetKey(KeyCode.LeftArrow)){
isLeft = true;
}
if(Input.GetKey(KeyCode.RightArrow)){
isRight = true;
}
if(Input.GetKey(KeyCode.UpArrow)){
isUp = true;
}
if(Input.GetKey(KeyCode.DownArrow)){
isDown = true;
}
if(Input.GetKeyUp(KeyCode.Space)){
isReverse = true;
}
}
}
Card.cs
using UnityEngine;
using System.Collections;
public class Card : MonoBehaviour {
private OTAnimatingSprite reverseSprite;
private float moveSpeed = 100;
private int moveDirX;
private int moveDirY;
private Vector3 movement;
private bool isReversed;
void Awake()
{
}
void Start()
{
reverseSprite = GetComponent<OTAnimatingSprite>();
isReversed = true;
}
public void Update ()
{
moveDirX = 0;
moveDirY = 0;
//キー押下状態によって各種制御する
if(God.isLeft){
moveDirX = -1;
}
if(God.isRight){
moveDirX = 1;
}
if(God.isUp){
moveDirY = 1;
}
if(God.isDown){
moveDirY = -1;
}
if(God.isReverse){
reverse();
}
UpdateMovement();
}
//移動
void UpdateMovement()
{
movement = new Vector3(moveDirX, moveDirY,0f);
movement *= Time.deltaTime*moveSpeed;
transform.Translate(movement.x,movement.y, 0f);
reverseSprite.transform.position = transform.position;
}
//裏返し
void reverse()
{
int frame;
if(isReversed){
reverseSprite.Play("club01");
}else{
reverseSprite.Play("reversed");
}
isReversed = (!isReversed);
}
}
「Project」内のそれぞれのスクリプトを「Hierarchy」タブの対応するオブジェクト(Card.cs->Cardオブジェクト, God.cs->Godオブジェクト)へドラッグアンドドロップします。
これでゲーム開始させると、上下左右キーでカードが移動し、スペースキーでカードが裏返ります。