Python学习-2 Cocos2d环境搭建
1、安装
pip3 install cocos2d
报错
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [7 lines of output]
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "C:\xxxxx\Local\Temp\pip-install-1qwu8cic\cocos2d_53da07e0056242a99a3e8d2706e0c98d\setup.py", line 38, in <module>
f = open('README.rst','rU')
^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid mode: 'rU'
原因
U模式已被弃用一段时间,最终在Python 3.11中被删除。
不幸的是,gyp仍然使用此模式,因此与Python 3.1 0不兼容(请参见e.g.、https://github.com/nodejs/node-gyp/blob/main/README.md#on-macos)。降级到Python 3.1 0应该可以解决问题。
https://www.python.org/downloads/release/python-31010/
https://www.python.org/ftp/python/3.10.10/python-3.10.10-amd64.exe
复制python.exe为python310.exe
python310.exe -m pip install --upgrade pip
然后安装cocos2d
python310 -m pip install cocos2d
python310 -m pip install numpy
python310 -m pip install pyglet-ffmpeg2
运行一个helloworld
# 首先导入Cocos包
import cocos
# 对图层进行子类化 并在此处定义编程的逻辑
class HelloWorld(cocos.layer.Layer):
def __init__(self):
# 调用super构造函数
super(HelloWorld,self).__init__()
# 要显示文本,我们将创建一个Label。关键字参数用于设置标签的字体,位置和对齐方式
label = cocos.text.Label(
'Hello, world',
font_name='Times New Roman',
font_size=32,
anchor_x='center', anchor_y='center'
)
# 标签位置将是屏幕的中心
label.position = 250, 150
# 由于Label是CocosNode的子类,因此可以将其添加为子级。所有CocosNode对象都知道如何呈现自身,执行操作和转换。要将其添加为图层的子项,请使用CocosNode.add方法
self.add(label)
# 定义HelloWorld类之后,我们需要初始化并创建一个窗口。为此,我们初始化Director
cocos.director.director.init(resizable=True,width=500,height=300,caption='Hello World')
# 然后我们创建一个HelloWorld实例
hello_layer = HelloWorld()
# 然后我们创建一个包含子层的场景HelloWorld
main_scene = cocos.scene.Scene(hello_layer)
# 最后我们运行场景
cocos.director.director.run(main_scene)
本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。