Unityのお勉強、今回はキャラクターの反転についてやりたいと思います。
反転の方法は2つくらいしかやり方がわかりません。一つはtransuform.localscaleそしてもう一つは今回自分がやったboolでフラグ設定してやる、回転させるtransform.RotateとSpriteRendererのflip上下反転させる方法です。
キャラの反転のコード
反転コードはこんな感じになりました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy2 : MonoBehaviour
{
float speed = 0.01f;
bool flipFlag = false;
int count = 0;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
count++;
transform.Translate(speed,0, 0);
if (count == 300)
{
transform.Rotate(0, 0, 180);
count = 0;
flipFlag = !flipFlag;
GetComponent<SpriteRenderer>().flipY = flipFlag;
}
if (transform.position.y < -5)
{
Destroy(gameObject);
}
}
}
コードはcount使ってcountが300になったらenemyキャラを左右上下反転させる、コードは敵キャラだけですがplayerキャラも反転させるコード書きました。
こんだけやるのに1時間くらいかかりました(´・ω・`)、写経学習である程度やったはずなのにいざコードを書くとなると難しい。思うとおりにできない。
でもあきらめませんよこんなところで(/ω\)。
そして次回はいままでtransfor.translate使って強制的に移動させてましたが、そろそろ物理エンジンのRigidbody2Dを使っていこうかな~と考えてます。
そして、画面がせまくなってきたのでそろそろ縦方向か横方向にスクロール、そしてジャンプさせたいのでジャンプ機能とかやっていきたいと思います。
コメント