[faq] 常见问题集合,有问题请先看这里再发帖(8月29日更新)

欢迎回复提醒,我会不定期整理回帖内容到顶楼

FAQ

Q:新建 Hello World 以后运行黑屏,什么鬼?

A:请在 资源管理器 中双击打开 helloworld 场景。

Q:游戏脚本如何调试?

A:推荐使用 Chrome 或 Firefox 浏览器运行游戏预览,然后打开开发者工具调试。原生平台请参考原生平台调试文档

Q:怎样发布游戏到原生平台?

A:请看手册文档里的 发布跨平台游戏 一章

Q:下载以后怎么是英文版的?

A:主菜单的 文件->偏好设置 可以将语言改为 「zh」,之后要重启编辑器才能生效。

Q:点了构建以后为什么要等这么久!

A:参考 设置预编译库模板 文档,选择预编译库编译,会节省大量时间。

Q:我在 windows 平台编译原生工程失败

A:请确认您已经安装好了 Visual Studio,并且在安装时选择安装C++相关编译组件!如果还有问题,可以看一下单独使用 cocos console 是否可以完成编译:http://www.cocos.com/docs/article/index?type=wiki&url=/doc/cocos-docs-master/manual/framework/native/wiki/cocos2d-console/zh.md

Q:编辑器里的代码编辑器提示不够智能/不能自动排版/不能显示文件列表/打开太慢/…

A:代码编辑器只提供快速查看编辑脚本的功能,不胜任也不建议作为工作用的编辑器。目前已经支持 VSCode 里的代码提示和语法高亮功能,推荐使用,参考 配置代码编辑环境 文档。

Q:我想扩展编辑器功能,怎样编写插件?

A:插件系统的工作流程请查看 扩展编辑器 文档。

Q:API 都是英文!文档有空白页!

A:v1.0 版发布时 API 文档补充了大量内容和中文翻译。开发团队也正在全力解决大家反馈的问题,在保证功能开发进度的情况下牺牲休息时间补充文档内容,暂时的缺漏请大家谅解!

Q:打开编辑器出现 This browser does not support WebGL… 的报错

A:可能是由于显卡驱动没有正确安装,或者双显卡的机器切换到集成显卡时出现的,请尝试安装最新版的显卡驱动。

Q: .prefab 文件是不可以编辑的么?

A: 在 资源管理器 中双击 Prefab 资源,在场景编辑器里开始编辑。

Q: android 编译不成功

A:

    1. windows 上检查下系统环境变量里 JAVA_HOME 有没有正确指向 java 路径上
    1. 如果使用了 3.9 framework, 请使用 ndk r10以上 的版本,推荐r10e。
    1. 检查其他下其他的配置,推荐使用 文档推荐的配置

Q: Windows 下编译不成功

A: 检查下vs有没有安装,并且vs安装的时候需要勾选上 c++ 选项

Q: 如何导入外部的 js 文件,例如 box2d.js …

A: 具体方法可阅读 第三方 JavaScript 模块引用文档 。目前仅支持导入符合 CommonJS 规范的第三方 js 库,我们将来会进一步支持到所有的前端库。

Q: 360 等国产浏览器预览时排版有问题

A: 请切换至极速模式,不要用兼容模式

Q: label指定 Overflow 为 NONE, 在 onLoad 的时候设置 string 属性后,无法立刻通过 getContentSize 取到大小

A: 这是引擎框架层的 bug,暂时的解决办法是把相关的逻辑放到 start 回调里面。(Creator 1.0.3 之前版本都适用)

Q:构建工程时提示 no such file or directory, open xxxxxxxxx.json

A:这是由于引用的资源丢失导致的,有几种处理方法:

  • 升级到 Creator v1.2 以上版本,会有完整的资源引用路径提示
  • 在项目中用文本编辑器(VS Code,Sublime,Webstorm 等)全局搜索报错提示里的 uuid,找到引用该资源的场景或 prefab,重新保存即可
  • 如果无法找到的资源是脚本文件,请检查是否将脚本放置在了 assets/resources 目录下,从该目录移出脚本即可解决

Q:在 iOS 版微信里运行 Creator 制作的 H5 游戏,切换到其他 app 再切回去时游戏会自动退出,怎么解决?

A:由于微信 iOS 版使用的 Webview 接口不完善,目前在使用 WebGL 模式运行游戏时会有崩溃问题,可以将游戏强制在 Canvas 渲染模式下运行,详见: http://forum.cocos.com/t/ccc-webview/37802/2

Q:构建原生项目时遇到 Build Failed. Error: EPERM: operation not permitted, rename 'xxxxx\build\tempCocosProject' -> ... 的报错,如何解决?

A:这个错误是由于项目目录下的 build 文件夹被其他进程占用导致的,其他进程可能包括:svn、git 等版本控制客户端,FTP客户端,部分功能较多的文本编辑器等等。请在这些程序中设置忽略 build 路径,或关掉这些进程就可以继续构建了。

Q:动画编辑器编辑的动画长度有上限吗?为什么我只能看到4秒钟的内容?

A:动画编辑器可以编辑由任意数量的帧组成的动画(总帧数越多,编辑时效率越低),默认的帧率是 60帧/秒,可以降低帧率在相同数量的关键帧下获得更长的动画播放时间。此外还可以通过 空格 快捷键来平移动画时间轴显示区域,来到达更远的时间点。详情请见: 动画时间轴介绍和操作方式

Q:浏览器运行预览时突然冒出一大串红字错误,一般以 Sorry, cc.Node.cascadeColor is removed. 打头,底下一大堆 Sorry 开头的报错,什么鬼?

A:这个问题是在特定的 Creator 版本中 (v1.2.0),当脚本中有 console.log(this.node) 或打印输出其他节点信息时出现的,已经在后续版本中修复,如果不愿意升级版本,可以先移除对节点信息的日志输出。

Q:加载网络上的图片时浏览器提示 Image from origin 'xxxxx' has been blocked from loading by Cross-origin Resource Sharing policy... 如何解决图片跨域问题?

A:参考这两篇社区讨论帖 http://forum.cocos.com/t/http/35673 http://forum.cocos.com/t/creator-webgl/36969

Q: properties里面可以定义对象数组嘛?

A: 可以,根据文档 http://www.cocos.com/docs/creator/scripting/class.html
当声明属性是一个数组时,可以在声明处填写他们的类型或构造函数来完成声明,如:

    properties: {
        any: [],      // 不定义具体类型的数组
        bools: [cc.Boolean],
        strings: [cc.String],
        floats: [cc.Float],
        ints: [cc.Integer],
        
        values: [cc.Vec2],
        nodes: [cc.Node],
        frames: [cc.SpriteFrame],
    }

或者

properties: {
    names: {
        default: [],
        type: [cc.String]   // 用 type 指定数组的每个元素都是字符串类型
    },

    enemies: {
        default: [],
        type: [cc.Node]     // type 同样写成数组,提高代码可读性
    },
}

Q:构建到安卓平台时失败,错误日志里有 WindowsError: [Error 145] : xxx\\jsb-default\\frameworks\\runtime-src\\proj.android\\assets\\script\\studio' 这样的信息

A:这个报错是在生成 apk 包的时候,删除 proj.android/assets 文件夹失败了。可能是由于同时在运行的 Eclipse 程序占用了该文件夹导致的。关闭其他占用文件夹的程序,然后重新构建即可解决。

Q:编辑器控制台提示 Error: Can not get fs path of: 1d41c192-d584-4393-871a-9417cb8303cd

A:这个报错是由于 library 里的库文件索引和 assets 里的资源文件不统一导致的,可以尝试关闭编辑器,删除 library 和 temp 文件夹,然后重启项目。

Q:选中节点后在属性检查器里修改节点的颜色后,场景里的节点颜色改变了,但属性检查器里显示的颜色不会更改,是什么问题?

A:这个问题可能是由于用户脚本里修改了 Array.prototype 里的属性导致和颜色拾取器使用的第三方库冲突,请避免扩展和修改 JavaScript 原生的 Array。

3赞

建议api给配个使用实例,英文也没关系,只要一看就知道怎么用就行!

5赞

API翻译是个大工程,我觉得程序员至少也得满足会查阅英文API的能力吧。
个人建议先做添加API例子的工作,跟U3D的API文档一样,示例很多。:14::14:

1赞

帮助文档打开时位置错乱,详见http://www.cocoachina.com/bbs/read.php?tid-457605.html

creator在32位机上不能编辑代码,详见http://www.cocoachina.com/bbs/read.php?tid-457609.html

建议 :- 【编辑器】能显示 当前打开的项目名&&路径 或者 显示在【 控制台】 的 第一句 ,方便同时打开多个项目测试时区分不清 ;
- 【编辑器】 将游戏的【横 竖屏 】做一个设置选项并在【官方文档】说明;
- 既然用到了浏览器 就要 动态 将H5 这块【cookie 】&&一些缓存数据等 在官方的文档中写篇文章;
-【官方文档】中缺少对本地文件的处理【分为原生和h5】两方面有些不同 ;

希望能配套出基于cocos creator的视频教程,那才叫个爽,视频教程的作用可是相当大,很多人抱着试试看的态度,结果就走上了这条路、。

creator的代码提示尽快加上吧,目前的代码提示太弱了,很多基本代码提示都没有,有些还是错的。

1赞

creator居然没有函数跳转功能,不方便查看源码。

1赞

easing方法 API里找不到 为萨米

easing方法 API里找不到 为萨米

文档注释中格式有问题,很快会修复

creator的代码提示尽快加上吧,目前的代码提示太弱了,很多基本代码提示都没有,有些还是错的。
creator居然没有函数跳转功能,不方便查看源码。

目前 Creator 中的 Code Editor 是非常初级的版本,代码提示在 windows 版本中有 bug,这个在另一个帖子中提到,已经修复。除此之外,更高阶的项目级代码提示,函数跳转等功能,还不支持,Code Editor 也并不是定位为一个完整全功能的代码编辑器,否则我们就可以去做 WebStorm 赚钱了你说是不是,代码编辑器复杂度不是一个小团队可以 handle 的。Code Editor 会尽力改善在 Creator 中的代码编写友好度,比如代码提示,调试等功能,但不会成为一个大而全的代码编辑器。我们也不会绑架用户,相反我们鼓励开发者维持自己的编码工具习惯,使用 Sublime,WebStorm 等专业的代码编辑工具都不会和 Creator 有任何冲突。

1赞

canvas下添加了Game.js后 只显示Game.js中onload的添加的节点而在层级管理器中的node都不显示 删掉Game.js中的noload后 又只能显示层级面板中的node 调用this_super()的尝试也失败了 望解决 毕竟是指导项目

其实我觉得你们想的挺对的,你们没必要,也不应该把重心放在Code Editor上,我建议你们甚至可以考虑放弃它。
像U3D一样,他自身貌似都没有IDE,都是借助外部成熟的VS以及MONOIDE,

打造一款Code Editor,费时费力不讨好。
而且你们也很难做到像市面上那种成熟的Editor那样的产品。

我建议你们还是做好对市面上现有的编辑器的支持,比如Sublime,VSCode之类的。做到能自己选择编辑器,
点击代码就跳转到编辑器,专心做代码提示以及连接的过程就好。

内部的Code Editor,放弃它吧。。。

谢谢理解

我们可能会在内部集成 VSCode,在 VSCode 基础上增加专有的 Native 调试功能,总之,一定会扬长避短,借力成熟开源项目来达到更好的体验

Q: .prefab 文件是不可以编辑的么?
A: 0.7 版本暂未加入编辑功能,麻烦先拖入场景中,编辑完再点击 Apply 进行保存。0.8 会支持双击编辑。

Q: cc.log 在浏览器中不能输出
A: cc.log 在 0.7 里面默认不输出,如果需要的话麻烦暂时在启动游戏时先执行 cc._initDebugSetting(cc.DebugMode.INFO)

Q: android 编译不成功
A:

  1. windows 上检查下系统环境变量里 JAVA_HOME 有没有正确指向 java 路径上
  2. 如果使用了 3.9 framework, 请使用 ndk r10以上 的版本,推荐r10e
    检查其他下其他的配置,推荐使用 这里的配置 :http://www.cocos.com/docs/creator/publish/cocos-framework.html

Q: windows 编译不成功
A: 检查下vs有没有安装,并且vs安装的时候需要勾选上 c++ 选项

Q: 如何导入外部的 js 文件,例如 box2d.js …
A: 具体方法可阅读文档http://www.cocos.com/docs/creator/scripting/third-party-module.html 。目前仅支持导入符合 CommonJS 规范的第三方 js 库,我们将来会进一步支持到所有的前端库。