저는 도약 모션으로 파이 게임 라이브러리를 사용하려고합니다.도약 모션 + 파이 게임 | 창에 텍스트 표시하기
AttributeError: 'function' object has no attribute 'avg_pos'
: 나는 내 SampleListener
클래스에서 변수를 검색하고 내 Main
방법으로 먹이를하려고하지만 때, 내 창에 립 모션에서 일부 데이터를 표시하기 위해 노력하고있어,이 오류가 발생합니다 클래스> 메서드> 변수 구조에 대한 오해가 있습니까?
import Leap, sys, pygame
#Window
windowWidth = 800
windowHeight = 600
#Leap Motion Settings
class SampleListener(Leap.Listener):
def on_init(self, controller):
print "Initialized"
def on_connect(self, controller):
print "Connected"
def on_disconnect(self, controller):
# Note: not dispatched when running in a debugger.
print "Disconnected"
def on_exit(self, controller):
print "Exited"
def on_frame(self, controller):
# Get the most recent frame and report some basic information
if not self.frame.hands.empty:
# Get the first hand
hand = self.frame.hands[0]
# Check if the hand has any fingers
fingers = hand.fingers
if not fingers.empty:
# Calculate the hand's average finger tip position
avg_pos = Leap.Vector()
for finger in fingers:
avg_pos += finger.tip_position
avg_pos /= len(fingers)
print "Hand has %d fingers, average finger tip position: %s" % (
len(fingers), avg_pos)
#Application Loop
def main():
pygame.init()
window = pygame.display.set_mode((windowWidth,windowHeight))
pygame.display.set_caption("TEST123")
#Surface
background = pygame.Surface(window.get_size())
background = background.convert()
background.fill ((50,0,80))
if pygame.font:
font = pygame.font.Font(None, 36)
text = font.render("%s" % SampleListener.on_frame.len(fingers), 1, (255, 255, 255))
textpos = text.get_rect(centerx=background.get_width()/2)
background.blit(text, textpos)
# Create a sample listener and controller
listener = SampleListener()
controller = Leap.Controller()
# Have the sample listener receive events from the controller
controller.add_listener(listener)
clock = pygame.time.Clock()
while True:
clock.tick(60)
#Handle Input Events
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
# Remove the sample listener when done
controller.remove_listener(listener)
window.blit(background, (0,0))
pygame.display.flip()
if __name__ == "__main__":
main()
편집 : 여기
내가 함께 일하고 있어요 코드입니다 여기에 전체 역 추적 오류입니다 -Line 53, in main
text = font.render("%s" % SampleListener.on_frame.avg_pos, 1, (255, 255, 255))
AttributeError: 'function' object has no attribute 'avg_pos'
감사합니다!
는 립 모션 번도 본 적이는 - 꽤 놀랍다! 그 오류를 일으키는'on_frame' 메서드에서 아무것도 볼 수 없습니다 ... 질문을 편집하여 스택 추적을 더 붙여 넣을 수 있습니까? 그리고/또는 어떤 줄이 예외의 원인인지 지적 할 수 있습니까? –
전체 추적 메시지를 게시 할 수 있습니까? – alexpinho98
추적 표시가 추가되었습니다. – ampexian