목록유니티 (33)
안 쓰던 블로그
지금 씬(Stage)는 스테이지 선택 창임 여기서 스테이지를 클릭하면 Scene1에다가 현재 클릭된 스테이지 번호를 넘겨주고, 그 번호의 스테이지를 실행하게 해주고 싶다 그러면 '스테이지 번호' 변수가 다른 씬으로 공유되어야 함 유니티에서 씬에서 씬으로 변수나 함수를 못 넘기는 이유가, 씬이 넘어갈 때 그 씬에 있는 모든 오브젝트를 파괴하기 때문인데, 파괴되지 않거나 static이면 씬이 넘어가도 접근할 수 있으니까 공유가 될 것이다 만약 플레이어가 맵을 이동해야 한다면? 플레이어 객체는 삭제되지 않아야 되니까 이 경우는 DontDestroyOnLoad라는 유니티 동작 매커니즘을 추가해서 객체가 파괴되지 않도록 해준다 DontDestroyOnLoad를 적용한 객체는 씬이 넘어가도 삭제되지 않으므로 새로운..
//GameManager스크립트에 GetnewImage(int num) 함수가 있음 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Box1Manager : MonoBehaviour { public GameManager gm; // Start is called before the first frame update void Start() { gameObject.GetComponent().sprite = gm.GetnewImage(1); //오브젝트 찾지 못함 에러 } public void OnClickBox() { gameObject.GetCompone..
public Sprite GetnewImage(int num) { int randomQuestionIndex; if (num == 1) { randomQuestionIndex = Random.Range(0, box1.Length); return box1[randomQuestionIndex]; } else if (num == 2) { randomQuestionIndex = Random.Range(0, box2.Length); return box2[randomQuestionIndex]; } else if (num == 3) { randomQuestionIndex = Random.Range(0, box3.Length); return box3[randomQuestionIndex]; } else if (num =..
void setmix(int index, GameObject image) { float x = mixposition[index, 0]; float y = mixposition[index, 1]; float z = mixposition[index, 2]; image.transform.position = new Vector3(x, y, z); //image.transform.localPosition = new Vector3(x,y,z); Debug.Log(image.transform.position); print(x); print(y); print(z); } 유니티에서 오브젝트를 순간이동 시키려면 보통 vector3로 transform.position에다가 값을 넣을 것임 근데 내 프로젝트에서 image를 ..
유니티에서 서브 디렉토리를 만들 때 특정 이름으로 만들면 특별한 작동을 한다 Resources라는 이름의 폴더가 있다면, 그 폴더 안의 리소스를 불러오는 함수를 쓸 수 있다 Resources 폴더를 새로 만들어서 안에 이미지 파일을 넣었다 테스트를 위한 버튼 하나를 만들어서 스크립트를 붙였다 public class Box1Manager : MonoBehaviour { object[] sprites; // Start is called before the first frame update void Start() { sprites = Resources.LoadAll("1_LikeLove"); for (int i = 0; i < sprites.Length; i++) { GameObject go = sprites..