목록분류 전체보기 (478)
한 걸음 두 걸음
유니티에서 control 9 키를 눌러 asset Store에 들어가신 후, Vuforia Digital Eyewear Sample를 검색해줍니다. 다운로드를 다 하시면 경고창 무시하고 설치해줍니다. 이후 플레이버튼을 누르면 이런 메세지가 나올 수 있는데ㅡ 위 에러 메세지는 Sample과 Vuforia의 버전이 일치하지 않아 발생하는 문제이므로, Vuforia의 버전을 업데이트해주면 해결됩니다. 버전 업데이트는 VuforiaConfiguration에서 Download Vuforia로 다운받아주시면 됩니다, 다운로드가 완료되면 압축 풀어주시고 설치를 진행시켜주세요ㅎㅎ 파일 경로를 지정해주어야하는데, 저같은 경우는 unity가 설치됐던 경로로 지정해주었습니다. 이 때, 해당 유니티가 켜져있으면 충돌하므로, ..
재생하자마자 지정된 음악을 재생시키도록 만들겠습니다. 코드는 아래처럼 굉장히 간단합니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class bgm : MonoBehaviour { public AudioClip sndExp; // Start is called before the first frame update void Start() { AudioSource.PlayClipAtPoint(sndExp, transform.position); } // Update is called once per frame void Update() { } } public AudioClip sndExp;어떤 음원을 ..
docker 컨테이너 실행 에러 해결 방법은 아래 사진처럼 해주고 running 뜨면 다시 잘 동작함
데이터클래스 data class User(val name : String, var a : Int) //기본 생성자는 1개 이상이어야합니다. var 이나 val //이는 데이터값만 가지고있는 클래스입니다. //abstrct open sealed inner 등이 안됩니다. 데이터클래스를 활용하면 equals hashCode copy toStirng과 같은 함수를 자동으로 만들어줍니다. 단, 기본 프로퍼티로 지정된 변수에 대해서만 생성됩니다. 흐호호 중첩클래스 중첩클래스class A{ private val b : Int = 1; class N { fun foo() = 2; //N클래스는 b에 접근할 수 없습니다. } } var demo = A.N().foo() // 2 2. 내부클래스(inner) 이는 바깥쪽..
프로퍼티 이는 자바에서 지원하지 않지만 코틀린에 있기 때문에 알아두시는 것이 좋습니다. class Name{ var a : String = "A" }에서 getter와 setter가 생략되어있습니다. 그래서 print(Name.a) 이런식으로 사용하면 getter가 자동으로 호출됩니다. (getter와 setter가 아니라 여기서는 get() set()함수입니다.) field 식별자를 accessor에서 사용할 수 있습니다. var counter = 0 set(value){ //accessor if(value > 0) field = value }를 통해 value값을 field에 저장할 수 있습니다. const const val A = "TOP LEVEL" 그리고 lateinit도 있는데 조건이 굉장히 ..
상속 class 이름 :상속할거(){} 방식으로 사용합니다. :만 써줌으로써 할 수 있고, 아무것도 안쓸경우 Any가 상속됩니다. open class AA{x : Int} //open 키워드를 써줌으로써 상속해줄 수 있는 클래스가 됩니다. class BB(x:Int) : AA(x){}기본적으로 코틀린의 모든 클래스는 final로 만들어지기때문에 open으로 사용해주어야합니다. 파생 클래스에 기본생성자가 없는 경우에는 super키워드를 사용하여 상속클래스의 생성자를 초기화시켜주어야합니다. class MyView : View{ constructor() : super(1) //매개변수가 없는 보조생성자 constructor(a : Int) this() //인트형 a를 하나 받는 보조생성자는 this(매개변수가..
class class 이름(data : Int): { } //바디가 없으면 생략할 수 있습니다.생성자 기본생성자(primary) : 기본생성자는 클래스에 1개만 가질 수 있고, 클래스 이름 뒤에 작성합니다. class Person constructor(data : String){ }이런 식으로 사용합니다. 이 때, 어노테이션이나 접근지정자가 없을 경우 constructor를 생략하여 위처럼 쓸 수 있습니다. 기본 생성자의 코드는 init블록을 따로 만들어 작성해주어야합니다. init{ //data는 init블록 내부에서 사요할 수 있습니다. print("데이터 : $data"); } } 보조생성자 : 기본생성자를 꼭 한 번씩 호출을 해주어야합니다. class Person(val name:String){ ..