python返回函数名而不是值

2024-09-30 02:19:49 发布

您现在位置:Python中文网/ 问答频道 /正文

所以。。。这个问题困扰了我一段时间。在网上调查之后,我没有找到答案。当我从player draw line调用函数:spawnLoc.getX1时,我打印它以查看它是什么,它打印这个:我希望它打印数字30。有人能帮忙吗

import simplegui

#charictor position decliration
x1 = 30
x2 = 30
y1 = 35
y2 = 35

class Room:
    def __init__(self, roomName, sizeX=0, sizeY=0):
        self.roomName = roomName
        self.sizeX = sizeX
        self.sizeY = sizeY

class player:
    def __init__(self, name, spawnLoc):
        self.name = name
        self.spawnLoc = spawnLoc

    def draw(canvas, spawnLoc):
        print spawnLoc.getX1
        print spawnLoc.getX2
        print spawnLoc.getY1
        print spawnLoc.getY2
        canvas.draw_line((spawnLoc.getX1, spawnLoc.getX2), (spawnLoc.getY1,      spawnLoc.getY2), 6, 'Red')

class spawn:
    def __init__(self, spawnName, spawmX1,spawmX2, spawmY1, spawmY2):
        self.name = spawnName
        self.x1 = spawmX1
        self.x2 = spawmX2
        self.y1 = spawmY1
        self.y2 = spawmY2

    def getX1(self):
        return x1

    def getX2(self):
        return x2

    def getY1(self):
        return self.y1

    def getY2(self):
        return self.y2

#def Collisions(rooms, selectedPlayer):
    #for Room in rooms
    #if room.x == player.x

rooms = [
        Room('Ticket Hall', 300, 500)
        ]

#spawns = [spawn('first', x1, x2, y1, y2)]
spawn('first', x1, x2, y1, y2)
player1 = [ player('one', spawn)]
#player('one', spawns)

# Handler to draw on canvas
def draw(canvas):
    #room draw
    canvas.draw_line((0, 0), (0, 500), 6, 'Red')
    canvas.draw_line((0, 0), (300, 0), 6, 'Red')
    canvas.draw_line((300, 0), (300, 500), 6, 'Red')
    canvas.draw_line((0, 500), (300, 500), 6, 'Red')
    #player draw
    #canvas.draw_line((x1, x2), (y1, y2), 5, 'Red')
    player.draw(canvas, spawn)

# Create a frame and assign callbacks to event handlers
frame = simplegui.create_frame("Home", 600, 600)
#frame.add_button("Click me", click)
frame.set_draw_handler(draw)

# Start the frame animation
frame.start()

Tags: selfdeflineredframecanvasplayerx1

热门问题