|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
五子棋演示必胜招法,要求每布一子延时1秒,显示动画效果。
布子完成后停留3秒,回到无子界面。或者一键清屏。
下面代码延时及清屏无效果。
- import cocos
- from cocos.scene import Scene
- from cocos.director import director
- from pyglet.window import key
- qizi = []
- bo = None
- class GameLayer(cocos.layer.ColorLayer):
- global qizi, bo
- def __init__(self):
- super().__init__(22, 142, 202, 255)
- cocos.layer.Layer.is_event_handler = True
- bg = cocos.sprite.Sprite('bc55.jpg')
- bg.position = (350, 350)
- self.add(bg)
- def display(self):
- positions = [(9, 9), (10, 9), (8, 6), (9, 8), (6, 8), (8, 7), (7, 6), (11, 10),
- (12, 11), (12, 9), (6, 6), (9, 6), (7, 7)]
- for i in range(13):
- if i % 2 == 0:
- bo = cocos.sprite.Sprite('3.png')
- else:
- bo = cocos.sprite.Sprite('4.png')
- bo.position = (35 + (positions[i][0]) * 45, 35 + (positions[i][1]) * 45)
- self.do(cocos.actions.Delay(1))
- self.add(bo)
- qizi.append(bo)
- self.do(cocos.actions.Delay(3))
- return
- def on_key_press(self, k, _):
- global qizi, bo
- if k == key.SPACE:
- self.display()
- if k == key.ENTER:
- self.remove(bo)
- qizi = []
- director.init(800, 700, caption="五子棋")
- mainscene = Scene()
- mainscene.add(GameLayer(), z=1)
- director.run(mainscene)
复制代码
|
|