所以。。。这个问题困扰了我一段时间。在网上调查之后,我没有找到答案。当我从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()
你忘记括号了
是一个函数句柄
调用函数
相关问题 更多 >
编程相关推荐