01.helloworld--标签
"""参考网站:http://python.cocos2d.org/doc/programming_guide/index.html"""
import cocos class HelloWord(cocos.layer.Layer): # 继承层 def __init__(self): super(HelloWord, self).__init__() # 创建一个标签来显示文字,设置标签的字体,位置和对齐方式: label = cocos.text.Label( 'Hello,world', font_name='Times New Roman', font_size=32, anchor_x='center', # 锚点x anchor_y='center' ) # 标签位置 label.position = 320, 240 self.add(label) # 作为子类添加到层 def main(): # 初始化导演 cocos.director.director.init() hello_layer = HelloWord() # 创建一个包含HelloWorld图层作为子场景的场景 main_scene = cocos.scene.Scene(hello_layer) # 运行场景 cocos.director.director.run(main_scene) if __name__ == '__main__': main()
cocos2d是用于构建2D游戏,演示和其他图形/交互应用程序的框架。
- cocos2d简化了以下领域的游戏开发:
-
- 流控制:轻松管理不同场景之间的流控制
- 精灵:快速简便的精灵
- 动作:告诉精灵您想要他们做什么。可组合动作,例如移动,旋转,缩放等
- 效果:像波浪,旋转,镜头等效果
- 粒子系统:爆炸,烟花,流星,烟雾等
- 平铺地图:支持矩形和六边形平铺地图
- 碰撞:基本的纯python碰撞支持
- 过渡:使用样式从一个场景移到另一个场景
- 菜单:内置类来创建菜单
- 文字渲染
- 文档:编程指南+ API参考+许多简单的测试显示如何使用它
- 内置python解释器:用于调试
- BSD许可证:只需使用它
- 基于pyglet:无外部依赖关系
- 基于OpenGL:向后加速
基本概念:
""" Scenes:场景,屏幕或舞台。应用程序可以有许多场景,但是在给定时间只有其中一个处于活动状态。 Director:导演。它知道哪个场景当前处于活动状态,当前场景的推送,替换或结束由导演进行,还负责初始化主窗口 Layers:层。定义外观和行为的层 在非MVC(模型-视图-控制器)设计风格中,一些与节点交互相关的代码倾向于在包含实体的层中浮动,从而提供更高的功能单元。 例如,Menu是一个Layer子类,它知道如何对项目进行布局和动画处理,读取用户输入并控制流程。 定义事件处理程序,事件会传播到各个层(从前到后),直到某个层捕获到事件并接受为止。 cocos2d 提供的专门层: MultiplexLayer,即一次只能看到一个图层的一组图层 ScrollingManager,ScrollableLayer; 逻辑限制滚动到可见区域 RectMapLayer,HexMapLayer,TmxObjectLayer,显示一组矩形或六边形图块或TMX对象 Menu,实现简单的菜单 ColorLayer,一个纯色矩形 PythonInterpreterLayer,由导演使用以弹出一个交互式控制台,以窥视和戳探场景中的对象(Ctrl + I切换开/关) 可以重写子类的__init__ 方法Layer。创建图层时将调用此方法 Sprites:精灵。2D图像,可以移动,旋转,缩放,设置动画等 Events:事件。pyglet事件框架来处理事件,pyglet参考文档:https://pyglet.readthedocs.io/en/stable/programming_guide/examplegame.html#programming-guide-game """