나는 하향식 슈팅 게임을 만들고 내 좀비가 내 캐릭터를 따라 가기를 바라고, 내 프로그램은 메인 루프를 사용한다. 내 캐릭터의 위치는 x와 y이며 화살표 키로 제어됩니다. 나는 좀비를 맞았는데, 지금은 스크린 샷의 왼쪽 가장자리에서 무작위로 생성됩니다. 좀비가 어디에서 태어난 지 내 위치를 따를 수 있도록하려면 어떻게해야합니까? 내 메인 루프에서 좀비 = makezombie()파이 게임에서 적을 어떻게 따라 가게 만드시겠습니까?
을 설정
def makezombie():
global zom
zom = Rect (0,randint(0, height-40), 49, 38)
return zom
나는 다음과 같은 한 :
이
는 좀비 기능입니다for shot in shots:
if zombie.collidepoint(shot[X],shot[Y]):
zombie=makezombie()
points+=1000
impact.play()
blood.play()
왜 사용하지에 운동의 X, Y 값을 추가? – sloth
둘 중 하나가 작동하지만 필자가 필요하지 않으면 너무 많은 모듈을 가져 오지 않는 것을 선호합니다. 비록 math.sqrt가 아마 코드를 읽는 누군가에게 더 이해할 수 있음을 인정할지라도 하나가 다른 것보다 낫다면 나는 정말로 확신 할 수 없다. – user1413793
내 노트북 (우분투의 Python 2.7)에서''math.sqrt''를 사용하는 것이''timeit.timeit()''함수를 사용하여 측정 할 때 두 배 빠릅니다. ''math.sqrt''는 계산 당 631ns (평균 1 백만)가 소요되며''x ** 0.5''는 약 1260ns가 걸립니다. 개별적으로 큰 차이는 없지만 게임에서 많은 수의 캐릭터의 위치를 업데이트 할 때 루프에서 많은 계산을 수행하는 경우 상당히 차이가 날 수 있습니다 ... – Blair