์ข…์œผ๋กœ ๋‚˜๊ฐ€๋Š”๊ฑฐ ํšก์œผ๋กœ ๋ฐ”๊พธ๊ณ ์‹ถ์–ด.

์›๋ž˜ C# ์ข†๋„ ๋ชจ๋ฅด๊ณ  ํŒŒ์ด์ฌ์ด๋‚˜ ๊น”๋”ฑ๊ฑฐ๋ฆฐ ๊ฐ„๊ฒŒ๋กœ

์ฝ”๋“œ๋Š”๋ณต๋ถ™... ๊ทผ๋ฐ C# ์•Œ๊ณ  ์žˆ์–ด๋„ ์ €๊ฑฐ 100% ์ดํ•ดํ• ๊ฑฐ ๊ฐ™์ง€๋Š” ์•Š๋‹ค.

์ผ๋ฐ˜์ ์ธ C#ํ•˜๊ณ  ์œ ๋‹ˆํ‹ฐ C#ํ•˜๊ณ  ์ œ๋ฒ• ๋‹ค๋ฅผํ„ฐ์ด๋‹ˆ.

์บ๋ฆญํ„ฐ ์ฝ”๋“œ๊ฐ€ ๋Œ€์ถฉ ์ด๋ชจ์–‘์ด๊ณ 


using UnityEngine;

using System.Collections;


public class girl_robot : MonoBehaviour {

public GameObject explosionPrefab;

public const float moveSpeed = 15.0f;//์›€์ง์ด๋Š” ์†๋„๋ฅผ ์ •์˜ํ•ด ์ค๋‹ˆ๋‹ค.


public GameObject laserPrefab; //๋ฐœ์‚ฌํ•  ๋ ˆ์ด์ €๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

public bool canShoot = true; //๋ ˆ์ด์ €๋ฅผ ์  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ์ธ์ง€ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

const float shootDelay = 0.5f; //๋ ˆ์ด์ €๋ฅผ ์˜๋Š” ์ฃผ๊ธฐ๋ฅผ ์ •ํ•ด์ค๋‹ˆ๋‹ค.

float shootTimer = 0; //์‹œ๊ฐ„์„ ์žด ํƒ€์ด๋จธ๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.



void Start () {


}




void Update () {

moveControl();

ShootControl();

//์บ๋ฆญํ„ฐ๋ฅผ ์›€์ง์ด๋Š” ํ•จ์ˆ˜๋ฅผ ํ”„๋ ˆ์ž„๋งˆ๋‹ค ํ˜ธ์ถœ ํ•ฉ๋‹ˆ๋‹ค.

}


void moveControl ()

{


if (Input.GetKey (KeyCode.LeftArrow)) {

transform.Translate (Vector3.left * moveSpeed * Time.deltaTime);

}

if (Input.GetKey (KeyCode.RightArrow)) {

transform.Translate (Vector3.right * moveSpeed * Time.deltaTime);

}

if (Input.GetKey (KeyCode.UpArrow)) {

transform.Translate (Vector3.up * moveSpeed * Time.deltaTime);

}

if (Input.GetKey (KeyCode.DownArrow)) {

transform.Translate (Vector3.down * moveSpeed * Time.deltaTime);

}

}




void ShootControl() // ๋ฐœ์‚ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜ ์ž…๋‹ˆ๋‹ค.

{

if (canShoot) // ์  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ์ธ์ง€ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

{

if (shootTimer > shootDelay && Input.GetKey(KeyCode.Space)) //์ฟจํƒ€์ž„์ด ์ง€๋‚ฌ๋Š”์ง€์™€, ๊ณต๊ฒฉํ‚ค์ธ ์ŠคํŽ˜์ด์Šค๊ฐ€ ๋ˆŒ๋ ค์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

{

Instantiate(laserPrefab, transform.position, Quaternion.identity); //๋ ˆ์ด์ €๋ฅผ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค.

shootTimer = 0; //์ฟจํƒ€์ž„์„ ๋‹ค์‹œ ์นด์šดํŠธ ํ•ฉ๋‹ˆ๋‹ค.

}

shootTimer += Time.deltaTime; //์ฟจํƒ€์ž„์„ ์นด์šดํŠธ ํ•ฉ๋‹ˆ๋‹ค.

}

}



void OnTriggerEnter2D(Collider2D other)

//rigidBody๊ฐ€ ๋ฌด์–ธ๊ฐ€์™€ ์ถฉ๋Œํ• ๋•Œ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜ ์ž…๋‹ˆ๋‹ค.

//Collider2D other๋กœ ๋ถ€๋”ชํžŒ ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค.

{

if (other.gameObject.tag.Equals("enemy"))

//๋ถ€๋”ชํžŒ ๊ฐ์ฒด์˜ ํƒœ๊ทธ๋ฅผ ๋น„๊ตํ•ด์„œ ์ ์ธ์ง€ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.

{


/* ์—ฌ๊ธฐ์„œ ๋ถ€ํ„ฐ ์ถ”๊ฐ€๋œ ๋ถ€๋ถ„*/

Instantiate(explosionPrefab,

// Instantiate๋Š” ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑ(๋ณต์ œ)ํ•ฉ๋‹ˆ๋‹ค ์ฒซ๋ฒˆ์งธ ์ธ์ž๋กœ๋Š” ์ƒ์„ฑํ•  ๊ฐ์ฒด์˜ ์›๋ณธ์„ ๋„ฃ์–ด์ฃผ๊ณ 

this.transform.position,

//๋‘๋ฒˆ์งธ ์ธ์ž๋กœ๋Š” ์ƒ์„ฑ๋  ์œ„์น˜๋ฅผ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค. this.transform.position์€ ์ž๊ธฐ์ž์‹ ์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

Quaternion.identity);

//์„ธ๋ฒˆ์งธ ์ธ์ž๋กœ๋Š” ๊ฐ์ฒด์˜ ํšŒ์ „๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋Š”๋ฐ์š”, Quaternion.identity๋Š” ํšŒ์ „์ด ์ ์šฉ๋˜์ง€ ์•Š์€ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

/* ์—ฌ๊ธฐ๊นŒ์ง€ */


Destroy(other.gameObject);

//์ ์„ ํŒŒ๊ดดํ•ฉ๋‹ˆ๋‹ค.

Destroy(this.gameObject);

//์ž์‹ ์„ ํŒŒ๊ดดํ•ฉ๋‹ˆ๋‹ค.

}

}



}




๋ ˆ์ด์ € ์ฝ”๋“œ๋Š” ๊ฑด๋“œ๋ฆด ํ•„์š” ์—†์„๊ฑฐ ๊ฐ™์ง€๋งŒ ํ˜น์‹œ๋‚˜ ํ•ด์„œ ์˜ฌ๋ ค๋ณด๋Š”๋ฐ


using UnityEngine;
using System.Collections;

public class laser : MonoBehaviour {
private const float moveSpeed = 5.45f;
//์ด์•Œ์ด ์›€์ง์ผ ์†๋„๋ฅผ ์ƒ์ˆ˜๋กœ ์ง€์ •ํ•ด์ค์‹œ๋‹ค.
void Start () {

}
void Update () {
float moveY = moveSpeed * Time.deltaTime;
//์ด๋™ํ•  ๊ฑฐ๋ฆฌ๋ฅผ ์ง€์ •ํ•ด ์ค์‹œ๋‹ค.
transform.Translate(0, moveY, 0);
//์ด๋™์„ ๋ฐ˜์˜ํ•ด์ค์‹œ๋‹ค.
}
}



์ด๋ชจ์–‘์ž„