예제 #1
0
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)
예제 #2
0
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)