저는 작업중인 앱의 일부인 애니메이션 (아래 비디오 링크 참조)을 가지고 있습니다. 기본적으로 물고기는 화면을 가로 질러 수영합니다. 현재 나는 처음에는 각각 20 마리 정도의 물고기를 배열 한 다음 화면을 가로 질러 순서대로 수영합니다. 제 문제는 제가 원하는 행동이 아니라는 겁니다. 이는 일시적인 해결 방법 일뿐입니다. 대신에 각 물고기가 특정 임계 값 (캔버스 너비의 1/5 이하라고 가정 해 봅시다)에 도달 한 후 배열의 다른 물고기가 무작위로 선택되고 배치 된 다음 가로 질러 헤엄 치는 것입니다.메인 게임 루프에서 애니메이션을 랜덤 화하는 방법
활동의 전체 수명 동안 반복해야합니다. 각 물고기가 그 지점에 도달하면 난수 생성을 시도했다. 그런 다음 물고기를 그 지수에 위치시킨 다음 그것을 가로 지르는 데 사용했다.하지만 선택되는 임의의 숫자가 물고기의 색인에 해당하는 경우 명백한 문제가된다. 캔버스에 이미 있습니다. 사라집니다 (다시 위치를 조정할 수 있도록). 그 문제를 제외하고, 게임 개발에 대한 나의 이해에서. 지금까지 (나는 아직 초심자 다.) 메인 게임 루프 내의 난수 생성은 모든 비용으로 피해야한다. 그러나 나는 이것에 관해 갈 다른 방법의 확실하지 않다. 더 숙련 된 개발자의 접근 방식에 대한 통찰력을 얻기를 바랍니다. 고마워. 여기에 내가
https://www.youtube.com/watch?v=QM6t6f9TaUQ&feature=youtube_gdata_player
TL이 질문에 대한 게시 YouTube 동영상에 대한 링크입니다; DR은 - 사용자가를 종료 때까지 임의의 순서로 비명을 헤엄 쳐 건너,이 과정의 반복을 가지고 물고기의 무리를 원한다 활동/앱.
어디에서 임의의 int를 생성합니까? 내 게임 루프에서 각 물고기의 x 위치를 확인하고 있습니다. 그리고 한 번 각 점이 내가 임의로 선택할려고 노력하고 있습니다. 조금 명확하게 그 문제를 볼 수 있습니다. –
정말 보이지 않습니다. 문제가 있습니까? 물고기가 특정 x 값을 통과하면 위의 논리를 수행하는 'SpawnFish'함수를 호출하십시오. 그것은 일정량의 물고기를 유지할 것입니다. 좀 더 자연스럽게 보이기를 원한다면 임의의 간격으로 물고기를 산란시킬 수 있으며 x 값을 통과 할 때만 물고기를 제거 할 수 있습니다. –
네가하는 말을 보았다. 그것은 내가 논리적으로 여기에 어떻게 배치했는지의 종류입니다. 그러나 Fish.x가 캔버스 너비의 절반보다 작 으면 내 spawnFish()가 인덱스 목록에서 임의의 인덱스를 선택해야한다고 가정합시다. 각 물고기의 색상이 빠르게 변경된다는 이상한 행동을 보입니다. 나는 그것이 무작위 숫자 때문이라고 알고있다. 루프 내에서 세대를 생성하는 방법을 모르지만이 문제를 해결할 방법을 모르는 경우 –