유니티에디터에서 오브젝트를 계층구조(아래화면)에 등록하지 않고, Instantiate함수로 오브젝트를 복제해서사용.
지난시간에 만든 Player스프라이트2D오브젝트를 에셋에 프리펩으로 등록 후
등록한 프리펩을 빈 오브젝트(ObjectSpawner) 생성 후 현재 C#스크립트항복의 Player속성값으로 등록(아래)
위 에서 추가된 C#스크립트 ObjectSpawner.cs (아래)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ObjectSpawner : MonoBehaviour
{
//유니티 IDE에서 빈 오브젝트(ObjectSpawner) 생성 후 c#파일 생성
//이후 지난시간에 만든 Player스프라이트2D오브젝트를 에셋에 프리펩으로 등록
//위 등록한 프리펩을 빈 오브젝트(ObjectSpawner) 생성 후 현재 C#스크립트항복의 Player속성값으로 등록
[SerializeField]
private GameObject Player;
// Start is called before the first frame update
void Awake()
{
//1.Instantiate(Player);//Palyer오브젝트 복사
//2.오브젝트 복사 옵션(오브젝트명, 위치, 회전정보);
Instantiate(Player, new Vector3(3, 3, 0), Quaternion.identity);
//3.오브젝트 회전값 쿼터니온으로 설정(오일러각도Euler값)
Quaternion rotation = Quaternion.Euler(0, 0, 45);
//4.방금 생성된 오브젝트의 복제정보를 가지고, 설정하기
GameObject clone = Instantiate(Player, Vector3.zero, rotation);
//오브젝트 이름 변경
clone.name = "NewPlayer";
clone.GetComponent<SpriteRenderer>().color = Color.red;
//방금 생성된 게임 오브젝트의 위치 변경
clone.transform.position = new Vector3(-10, -3, 0);
//복제된 오브젝트 크기변경
clone.transform.localScale = new Vector3(2, 2, 1);
}
}
드론에 들어가 보다_02(보드준비) (0) | 2022.10.11 |
---|---|
드론에 들어가 보다_01(App준비) (1) | 2022.10.02 |
유니티엔진으로 만든 2D게임 분석하기_1 (0) | 2020.11.29 |
안드로이드 스튜디오 4.0.1 에서 VCS사용 (0) | 2020.10.14 |
코틀린 사용한 안드로이드 앱2 (0) | 2019.11.15 |
댓글 영역