091
[C#] Unity 속 C# script(11) : 응용 본문
728x90
* 언급이 없을 경우 기즈모방향이 왼쪽좌표계인 경우를 기준으로 말하고 있습니다. *
01. 바람개비 돌리기
-> Cube scale (10,30,1), rotation(0,0,0)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//using UnityEngine.SceneManagement;
public class vane_ggi : MonoBehaviour
{
void Update(){
transform.Rotate(0,0,-10);
}
}
02. 위에서 아래로 내려오는 공이 다시 위로 올라가기
-> Sphere scale(3,3,3)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//using UnityEngine.SceneManagement;
public class Up_ggi : MonoBehaviour
{
void OnCollisionEnter(Collision col){
col.gameObject.GetComponent<Rigidbody>().AddForce(Vector3.up * 100);
}
}
03. 공이 아래로 굴러감 -> 공이 파란박스와 충돌하면 사라짐 -> 남은 공의 수 텍스트로 출력
-> GameManager을 활용
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//using UnityEngine.SceneManagement;
public class gameManagerS : MonoBehaviour
{
private int scount = 0;
public void CountMethod(){
scount++;
Debug.Log("남은 코인 수: "+ (6-scount));
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//using UnityEngine.SceneManagement;
public class box_ggi : MonoBehaviour
{
public GameObject GM;
void OnCollisionEnter(Collision col){
Destroy(col.gameObject);
GM = GameObject.Find("GameManager");
GM.GetComponent<gameManagerS>().CountMethod();
}
}
04. 녹색 코인은 무작위로 뿌려서 생성시킨 후 공이 내려와서 녹색 코인 몇 개를 먹으면 공이 사라짐
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//using UnityEngine.SceneManagement;
public class gcoin_ggi : MonoBehaviour
{
int count = 0;
void OnTriggerEnter(Collision col){
if(col.tag == "GCoin") { //태그이름
count++;
Destroy(col.gameObject);
if(count == 5){
Destroy(gameObject);
}
}
}
}
05. 어떤 버튼을 누를 때마다 색 별로 주기적으로 공이 생성돼서 아래로 떨어지고 바닥에 충돌하면 다시 하늘로 올라가기
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//using UnityEngine.SceneManagement;
public class vane_ggi : MonoBehaviour
{
public GameObject sCopy;
void Update(){
if(Input.GetKeyDown(KeyCode.A)){
Instantiate(sCopy,sCopy.transform.position,sCopy.transform.rotation);
}
}
void OnCollisionEnter(Collision col){
col.gameObject.GetComponent<Rigidbody>().AddForce(Vector3.up * 100);
}
}
더보기
* 일부 출처 - 고수정, ”게임프로그래밍 ”, 인덕대학교
728x90
'Programming Language > C#' 카테고리의 다른 글
[C#] TQC+ 문제 CS_101 : (0) | 2025.04.29 |
---|---|
[C#] VS Code에서 실행 환경 꾸리기(Windows, macOS) (4) | 2025.02.27 |
[C#] Unity 속 C# script(10) : Prefab & Instantiate() (4) | 2024.12.11 |
[C#] Unity 속 C# script(9) : GameManager (7) | 2024.12.11 |
[C#] Unity 속 C# script(8) : 태그 (4) | 2024.12.10 |