ゲームもアートスタイルも大好きな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);
}
}