|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
cocos2d python文件图片放在py文件同目录下,能正常运行。
但用pyinstaller打包后的exe文件不能运行,
错误显示如下:
Traceback (most recent call last):
File "pyglet\resource.py", line 453, in file
KeyError: 'ball111.png'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "cocosmoveby01.py", line 17, in <module>
File "cocosmoveby01.py", line 8, in __init__
File "cocos\sprite.py", line 120, in __init__
File "pyglet\resource.py", line 575, in image
File "pyglet\resource.py", line 500, in _alloc_image
File "pyglet\resource.py", line 456, in file
pyglet.resource.ResourceNotFoundException: Resource "ball111.png" was not found on the path. Ensure that the filename has the correct captialisation.
即使将图片文件放到exe同目录也不行。而纯代码的py文件打包后的exe文件能正常运行。
"pyglet\resource.py"这个文件看不明白,它到底是如何规定的呢?
这个名为"cocosmoveby01.py"的文件如下:
import cocos
from cocos.sprite import Sprite
class PhysicsDemo(cocos.layer.Layer):
def __init__(self):
super(PhysicsDemo, self).__init__()
sprite = Sprite('ball111.png')
sprite.position = 200, 240
self.add(sprite)
sprite.velocity = (100, 100)
sprite.do(cocos.actions.MoveBy((300, 0), 2) + cocos.actions.Reverse(cocos.actions.MoveBy((300, 0), 2)))
if __name__ == "__main__":
cocos.director.director.init()
physics_layer = PhysicsDemo()
main_scene = cocos.scene.Scene(physics_layer)
cocos.director.director.run(main_scene)
很高兴您找到了使用 `auto-py-to-exe` 成功打包您的项目的方法。`auto-py-to-exe` 提供了一个更直观的界面,方便地将额外的文件(如图片、配置文件等)一起打包,这使得许多打包问题得到了简化。
使用 `auto-py-to-exe` 的步骤简要总结如下:
1. **安装**:通过 `pip install auto-py-to-exe` 安装工具。
2. **启动**:在命令行输入 `auto-py-to-exe` 启动控制台界面。
3. **配置打包**:
- 在脚本路径中选择您的 Python 文件。
- 在 "Additional Files" 栏中拖入或选择需要包含的资源文件(如图片)。
- 选择是否打包成一个文件或保持为文件夹形式。
4. **生成并运行**:点击转换按钮生成 `exe` 文件,并在生成后的路径下运行它。
感谢您的分享,希望您的解决方案对其他遇到类似问题的人也有所帮助!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
|