파이 게임에 대한 도움을 찾고 있습니다. 나는 파이 게임에서 파이 게임을 배우기 위해 간단한 게임을 개발 중이다. 나는 회전 할 수있는 우주선을 만들고 레이저 라인으로 촬영할 수 있습니다. 나는 화살표 키로 제어 할 수 있었고 마우스 위치로 우주선을 회전시킬 수도 있지만 촬영에는 문제가있다. 우주선 위치에서 마우스 방향으로 무한 길이의 선을 만들고 싶습니다. 내가 어떻게 할 수 있니? 이 작업은 우주선의 오른쪽에 있기 때문에 그것은 제대로 작동하지파이 게임에서 커서 방향으로 무한 길이의 드로잉 라인
def draw_objects(self):
SCREEN.fill(BLACK)
self.target = pygame.mouse.get_pos()
self.x = self.player.position[0] #player x position
self.y = self.player.position[1] #player y position
self.mx = self.target[0] #mouse x position
self.my = self.target[1] #mouse y position
self.slope=float(float(self.y-self.my)/float(self.x-self.mx+0.1)) #slope
self.x_new = DISPLAY_WIDTH #ray length
self.y_new = self.y + self.slope * (self.x_new - self.x)
self.player.draw()
self.draw_columns()
for agent in self.all_agents:
agent.draw()
agent.draw_vectors()
if self.player.shoot == True:
pygame.draw.line(SCREEN, GREEN, self.player.position,(self.x_new, self.y_new), 2)
pygame.display.update()
: 여기 내 코드입니다. 다른 경우 커서로 반사 된 선을 그립니다.
나는 당신의 도움에 감사 할 것이다.
당신은 계산에 사용하는 변수에 값을 표시하고 종이에 계산 된 값과 비교하기 위해'print()'를 사용할 수 있습니다. – furas
'슬로프'는 방향을 유지하지 않으므로 혼자서해야합니다. 'self.y-self.my'와'self.x-self.mx + 0.1'에서 표지판 (+/-)을 얻을 수 있으며이 기호를'self.x_new'와'self.y_new'와 함께 사용하면 올바른 결과를 얻을 수 있습니다 방향. (PL : powodzenia) – furas