Unity

ゲームつくる上での9の大事なポイント

ゲームもアートスタイルも大好きなBlackthornprod。

この度、彼の「ゲームを作るのに大事な9つの項目」を見て、よい復習になったので、自分用まとめておく。

9つの項目とは

Variables

GetComponent

private SpriteRenderer rend;
private void Start()
{
rend = GetComponent();
rend.color = Color.blue;
}

Instantiate

Instatiate(object to spawn, pos, rot);

public GameObject objectToSpawn;

private void Start()
{
    Instantiate(objectToSpawn, Vector3.zero, Quaternion.identity);
}

Destroy

Destroy(object to destroy, life time);

public float lifeTime;

private void Start()
{
    Destroy(gameObject, lifeTime);
}

Loops

public int numberOftreesToSpawn;
public GameObject objectToSpawn;

private void Start()
{
    for (int i = 0; i < numberOftreesToSpawn; i++)
    {
        Vector3 randomPosition = new Vector3(Random.Range(11, -11), Random.Range(4, -7));
        Instantiate(objectToSpawn, randomPosition, Quaternion.identity);
    }
}

If/else

public GameObject starObj;
public GameObject heartObj;
public bool isStar;

private void Start()
{
    if (isStar == true) 
    {
        Instantiate(starObj, Vector3.zero, Quaternion.identity);
    }
   else 
    {
        Instantiate(heartObj, Vector3.zero, Quaternion.identity);
    }
}

Input.GetAxisRaw

public float speed;
//Animator anim;
void Start()
{
//anim = GetComponent();
}
void Update()
{
Vector3 playerInput = new Vector3(Input.GetAxisRaw(“Horizontal”), Input.GetAxisRaw(“Vertical”), 0);
//normalized==one direction moving
transform.position = transform.position + playerInput.normalized * speed * Time.deltaTime;
}

Vector2.MoveTowards

Vector2.MoveTowards(startPos, target, speed);
public GameObject target;
public float enemySpeed;

private void Update()
{
    transform.position=Vector2.MoveTowards(transform.position,target.transform.position,enemySpeed * Time.deltaTime);

}

OnTriggerEnter2D

public GameObject effect;
…….
private void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == “Enemy”)
{
Instantiate(effect, transform.position, Quaternion.identity);
}
}

Previous Post Next Post