def startGame(e): global player, itemLayer, scoreTxt, addItemSpeedIndex, score, keyboardEnabled # reset some global variables addItemSpeedIndex = 0 score = 0 keyboardEnabled = True stageLayer.removeAllChildren() stageLayer.removeAllEventListeners() # add background bg = Bitmap(BitmapData(dataList["bg"])) stageLayer.addChild(bg) # create player player = Player(dataList["player"]) player.x = (stage.width - player.width) / 2 player.y = 450 stageLayer.addChild(player) # create item layer to contain objects falling from the top itemLayer = Sprite() stageLayer.addChild(itemLayer) # set the hit target to confirm a object which will be checked collision with items itemLayer.hitTarget = player # add score text field scoreTxt = TextField() scoreTxt.text = "Score: 0" scoreTxt.textColor = "red" scoreTxt.size = 30 scoreTxt.x = scoreTxt.y = 30 scoreTxt.weight = TextFormatWeight.BOLDER stageLayer.addChild(scoreTxt) # add events stageLayer.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown) stageLayer.addEventListener(MouseEvent.MOUSE_UP, onMouseUp) stageLayer.addEventListener(Event.ENTER_FRAME, loop)
def startGame(e): global player, itemLayer, scoreTxt, addItemSpeedIndex, score, keyboardEnabled, beginTime, timeTxt, playerNum # 重新设置全局变量的值 addItemSpeedIndex = 0 # 添加掉落物体的速度 score = 0 # 玩家分数,可在此处添加数据库用来记录玩家的分数!!!!!!!!!!! beginTime = time.time() # 设置游戏开始时间 keyboardEnabled = True # 设置键盘事件使能 #用于打开键盘事件,因为键盘事件是加到stage对象上的,stage生成后就可以通过键盘控制,不是我们想要的结果,所以需要增加一个控制变量 # 创建背景元素 bg = creatBg("bg") # 创建文本元素 timeTxt = creatTxt("剩余时间: ", 20, 668, 0, 'black') # 文本内容是游戏的剩余时间 # 创建人物元素 player = Player(dataList["player%d" % playerNum]) # 调用选择的人物图片,创建人物类的实例对象 player.x = (stage.width - player.width) / 2 # 设置人物元素初始水平位置 player.y = 450 # 设置人物元素初始垂直位置 stageLayer.addChild(player) # 使人物元素图片显示在游戏界面上 # 创建物体元素 itemLayer = Sprite() # 创建物体层 stageLayer.addChild(itemLayer) # 使物体层显示在游戏界面上 # 检测与物体元素接触的元素 itemLayer.hitTarget = player # 将需要检测的元素设置为人物类元素 # 添加文本元素 scoreTxt = creatTxt("Score: 0", 30, 30, 30, "black") # 文本内容为实时的分数 scoreTxt.weight = TextFormatWeight.BOLDER # 添加监听器 stageLayer.addEventListener(Event.ENTER_FRAME, loop)