Ok - 내 프로그램에 두 마리의 거북이가 있습니다. 애니메이션은 서로 충돌 할 경우, 일어,하지만 난 한 거북이가 다른 ontop이되고 싶어 :파이썬 거북이 그래픽 - 앞면 거북이 가져 오기
그래서, 내 질문은 - 코드의 간단한 라인 저기 - 나는 이런 일이 어떻게해야합니까 예 : turtle.front()
, 그렇지 않다면?
Ok - 내 프로그램에 두 마리의 거북이가 있습니다. 애니메이션은 서로 충돌 할 경우, 일어,하지만 난 한 거북이가 다른 ontop이되고 싶어 :파이썬 거북이 그래픽 - 앞면 거북이 가져 오기
그래서, 내 질문은 - 코드의 간단한 라인 저기 - 나는 이런 일이 어떻게해야합니까 예 : turtle.front()
, 그렇지 않다면?
그냥 그래서 방법, 올바른 파일을
def tofront(self, tobring):
newfront = tobring.clone()
tobring.ht()
return newfront
작품을 turtle.py이 추가 - 다른 모든 거북이의 상단에, 당신에게 거북이의 새로운 클론을 돌려 sould. 매개 변수 tobring는 - 그것은 당신의 현재 거북이
당신에 추가하는 것을 잊지 마세요,이 프로그램에서 데프 사용하거나 그렇다면 turtle.py 파일 에 넣어 수 있습니다 (당신이 앞으로 가져 오기 할 하나)의 명령 목록 -이 당신에게
이 솔루션은 레이어링이 조정될 때마다 새로운 거북이를 만듭니다. (거북선. 거북선() 참조) 새로운 거북이 생성을 포함하지 않는이 질문에 대한 간단한 답을 제공했습니다. – cdlane
도움이 될 것입니다 _tg_turtle_functions
_tg_turtle_functions = ['back', 'backward', 'begin_fill', 'begin_poly', 'bk',
'circle', 'clear', 'clearstamp', 'clearstamps', 'clone', 'tofront', 'color',
내가
희망 clone 명령 후를 않았다 나는 Make one turtle object always above another 곳 규칙에 내 대답이 간략하게 논의 이 간단한 상황에 엄지 손가락입니다 : 파이썬 거북이 멀리 제로 움직임을 최적화하지 않기 때문에
도착 마지막
최고
에 간단한 방법은 당신이 원하는 거북이를 이동하는 것입니다 0이상의 상단 :
import turtle
def tofront(t):
t.forward(0)
gold = turtle.Turtle("square")
gold.turtlesize(5)
gold.color("gold")
gold.setx(-10)
blue = turtle.Turtle("square")
blue.turtlesize(5)
blue.color("blue")
blue.setx(10)
turtle.onscreenclick(lambda x, y: tofront(gold))
turtle.done()
푸른 거북이가 금색과 겹칩니다. 아무 곳이나 클릭하면 상황이 바뀝니다.
@ Bally의 솔루션이 작동하지만 내 문제는 레이어링을 조정할 때마다 새로운 거북이가 생성된다는 것입니다. 그리고이 거북이들은 사라지지 않습니다. 시계 turtle.turtles()
가 자랍니다. 내 솔루션조차도 거북이의 발자국을 취소 버퍼를 취소하지만 그것은 적은 자원을 소비 믿을 필요가있다.
거북이 2를 그려 거북이 1을 그리면 황색이 자동으로 파란색 위에 렌더링됩니다. – adil
고마워, 내가 시험해 볼게! –