프로그래밍/Unity 72

~2016.11.22

스테이지 별로 enemy color, respawn speed, damage 등등 다르게주고, 맵까지 바뀌게끔. devMode를 넣어서 다음스테이지로 싹바뀌게 해놨다. 영상찍으면서 생성된 enemy 다 안죽이고 devMode로 슉슉. 죽을때 파티클 색도 바꾸고싶은데.. 파티클 색을 스크립트에서 어떻게 바꾸는지 모름. colorAnimation이나 colorOverLifetime을 사용해봤는데 공홈예제 보고 하느라 쓰는법도 모르고 ㅋㅋㅋ.. 일단은 못함. 하고싶은데 ! 파티클 색 어떻게바꾸나여! ㅠㅠㅠㅠㅠ + crosshair 추가 해서 마우스 커서랑 같이다니기 + 빙글빙글+ 타겟 조준되면 색변하게. ++ deathEffect.startColor = new Color(skinColor.r, skinColo..

2016.11.20. 02:38

총쏘면 발사sprite + light 뜨고 쓰고남은 총알 바닥에 있다가 점점 흐려지면서 사라짐, 까지. 자야지이제 ! +잔다하고 추가 ㅋㅋㅋㅋ...ㅇㄴ 장애물이 낮을경우 그냥 밟고 가서 collider수정. projectile trail추가, 2발로 수정. auto(연사), burst(일정갯수 연사:), single(한발씩) 로 발사형태 추가. ++ 스테이지?웨이브? 별로 난이도 조절하는데 내가 쓰는건 objectmanager에서 GameObject를 생성하는거고, 색/hp/damage/speed 는 enemy에서 바꿔야해서 어떻게 바꿔야하나 고민중. 생성할때 바꿔야하는데 GameObject랑 enemy랑 연결할 방법이 없나.

2016.10.27. 19:59~

ObjectManager.cs // CreateObject_Test 프리팹으로 저장한 enemy불러와서 하이라키의 자식으로 넣어주려고만듬. 리소스를 로드해서 생성 1.프리팹 로딩 GameObject prefab = Resources.Load("Prefabs/Enemy") as GameObject; ->그냥 public GameObject로 넣어줘도 된다. 2.프리팹이 유효한 경우, 새로운 오브젝트 생성. GameObject newObj = GameObject.Instantiate(prefab) as GameObject; 3.생선한 오브젝트 부모설정하고 newObj.transform.parent = gameObject; //스크립트가 부모한테 붙어있음. ----------------------------이..

Dictionary<TKey, TValue>.ContainsKey메소드

Dictionary.ContainsKey메소드 2016.10.19. 17:31 [c#] public bool ContainsKey( TKey key ) [c++] public: virtual bool ContainsKey( TKey key ) cs Dictionary에서 특정키가 있는지 여부를 확인한 결과를 반환한다. 지정된 키가 있으면 true, 아니면 false. public class DictionaryEx{ public static void Main(){ IDictionary openWith = new IDictionary(); if (!openWith.ContainsKey("ht")) { openWith.Add("ht", "hypertrm.exe"); Console.WriteLine("Value..

String

String 2016.10.19. 17:00 String클래스는 많이 쓰이고 좋은 메소드(기능)를 많이 가지고 있지만, 메모리를 과소비한다. String객체의 경우 처음 초기화된 데이터에 변화가 생기면 기존 것을 재활용하기 보다는 새 것을 찾고 쓰지 않는 데이터는 가비지 컬렉터에 의해 사라지지만 그전까지는 계속 메모리에 남아있기 때문에 메모리에 영향을 준다. ->속도적인 측면에서 개선된 stringBuffer, stringBuilder 속도 Builder > Buffer 1.stringBuilder append(): 문자열추가 insert(): 특정위치에 문자열추가 delete(): 문자열삭제 deleteCharAt(): 특정문자 하나 삭제 2.stringBuffer String메소드는 String형 변..

IEnumerable, IEnumerator

IEnumerable, IEnumerator 2016.10.19. 16:32 IEnumerable 내부에 GetEnumerator()추상함수를 포함하고 있으며, 이 함수를 이용해서 IEnumerator의 객체를 얻을수 있다. IEnumerator 컬렉션에서 단순하게 반복할 수 있도록 지원하는 열거자를 노출하는 인터페이스 현재 커서 위치에서 데이터를 추출하는 기능을 지원하며 순 방향으로 검색하는 기능 또한 제공하고 있다. 또한 커서를 데이터 집합의 시작점으로 돌리는 것도 가능하다. IEnumerator 컬렉션에서 단순하게 반복할 수 있도록 지원하는 열거자를 노출하는 인터페이스 + GetEnumerator() 컬렉션을 단순히 반복하는 열거자를 반환해 주는 역할 || 해당 컬렉션의 반복 using System..

ArrayList

2016.10.18. 19:59 데이터를 삽입했을 때 순서대로 삽입되며 중간 삽입이나 삭제 또한 가능하다. ArrayList클래스의 함수를 통해 객체저장, 삭제수정, 검색이 가능하다. public class ArrayList: IList, ICollection, IEnumerable, IClonable Add(" "): 데이터삽입 AddRange(): ArrayList 의 끝부분에 통째로 삽입 Insert(int, " "): 넣고자 하는 인덱스 번호에 데이터 삽입 Remove(" "): 해당 데이터제거 RemoveAt(int): 인덱스로 데이터삭제 RemoveRange(int, int)" ArrayList에서 요소의 범위를 제거 Sort(int, int, null): 정렬할 첫번째 위치, 정렬할 개수 p..

해시테이블_개선

1. 해시테이블 구조 개선 완벽한 해시함수는 없어서 언젠가는 충돌한다->충돌해소방법 필요 ->일반적으로는 내부구조차원에서 충돌처리 (내부구조 변경 안하고 충덜처리가 더 좋다!) 1) Linked overflow : 해시테이블의 각 칸은 연결리스트이다. Linked overflow 테이블에 항목을 삽입. 테이블은 크기가 10이고, 해시함수는 나머지 연산일 때 다음의 플레이어를 테이블에 삽입한다. player1: 345,752 player2: 546,182 player3: 798,500 player4: 123,430 ->나머지연산적용(해시함수적용): 2, 2, 0, 0 player3,4 player1,2 0 9 !-> 이 방법을 사용하면 충돌을 전혀 걱정할 필요가 없다. 해시들이 충돌한다고 해도, 나중 자료..