Cocos2d-JS开发常见问题汇总
来源:互联网 发布:windows phone官网 编辑:程序博客网 时间:2024/04/29 18:06
1. 编译android版本可能出现的问题记录
如果编译的时候报错。出现/platforms/android-14/arch-arm/usr/lib/crtend_so.o: Unknown EABI object attribute 44或者R_ARM_THM_CALL against symbol xxx,然后编译不过的问题
解决方案:
在android.mk上加个LOCAL_ARM_MODE := arm
出现原因:
android的编译默认指令是:
编译命令始终是compile++ thumb 或者 compilethumb
为什么使用thumb:
thumb指令集是为了满足一些低端的设备而加上的,使用的是16位的指令集,能压缩代码密度,但是指令比普通的32位arm指令弱很多。
通常来说不会出现这个问题。如果自行添加第三方库的时候有可能会出现,建议大家记录一下,这个问题比较难发现和解决。
2. Web平台广告接入--addScene广告接入方法
addSense网站地址:http://www.google.cn/adsense/start/(需要翻墙才能访问)
注册addSense成功以后进入后台
选择需要创建的广告类型之后,点击生成广告代码
生成成功后,后台如下图所示
将广告代码贴到index.html下。即可完成广告添加
添加成功后如下图所示
最后, 关于广告位置问题,可以根据html格式在index.html进行调整。
tips:如果需要接入百度移动联盟,腾讯广告等,也是同样的做法。
3. 如何在Code IDE中运行js-test, 如何运行cocos命令行创建的项目
1)在Cocos Code IDE中新建一个cocos js项目,就叫CocosJsGameSampleTest吧。
2)注意在新建的时候需要选中Create From Exising Resource
如下图所示:
然后点击确定生成项目。
3)在项目目录中找到project.json, 修改project.json中的enginedir值从“../../frameworks/cocos2d-html5”改为 “frameworks/cocos2d-html5”;
4)点击Cocos Code IDE中的地球图标运行,就可以看到成果了哦。
4. 如何监听浏览器窗口大小变化,横竖屏
当用户拖拽来改变浏览器大小,或者更有用的情况,当他们转动自己手机方向的时候。游戏中任意时刻都可以开启这种行为,只需要调用cc.EGLView的resizeWithBrowserSize函数:
cc.EGLView.getInstance().resizeWithBrowserSize(
true
);
为了更灵活得应对变化,我们为cc.EGLView提供了一个新的函数,你可以通过setResizeCallback函数注册一个回调函数来监听浏览器窗口大小变化事件:
代码如下:
cc.EGLView.getInstance().setResizeCallback(function() {
// 做任何你所需要的游戏内容层面的适配操作
// 比如说,你可以针对用户的移动设备方向来决定所要应用的适配模式
// 比如说 获取宽度和高度,如果宽度大于高度就是横屏, 如果宽度小于高度就是竖屏});
5. 手机浏览器黑屏问题
使用Cocos2d-JS最新版本导致浏览器黑屏的同学,可以试试在以下解决方案:加一个viewport上去就行了。
6. LabelBMFont黑边问题
在 LabelBMFont的图片字,纯白色的粗体, 在h5上没黑边,在jsb下,iPhone上还有黑边。解决方案:
7. 浏览器中输入文字解决方案
我们的游戏经常需要玩家输入文字信息,而edit控件的输入方式又不太好用,这里提供一个弹出框的解决方案(仅限在浏览器、微信中使用)
createInput: function () {
var textField =
new
ccui.TextField();
textField.setTouchEnabled(
true
);
textField.fontName =
"Marker Felt"
;
textField.fontSize = 30;
textField.x = widgetSize.width / 2.0;
textField.y = widgetSize.height / 2.0;
textField.addEventListenerTextField(
this
.textFieldEvent,
this
);
},
textFieldEvent: function (sender, type) {
switch
(type) {
case
ccui.TextField.EVENT_ATTACH_WITH_IME:
var textField = sender;
this
._topDisplayLabel.setString(
"attach with IME"
);
if
(!cc.sys.isNative)
{
var inputStr = window.prompt(
"请输入:"
);
cc.
log
(
"你输入的内容是:"
+inputStr);
}
break
;
}
8. cocos命令编译Android平台,sdk版本错误解决方案
cocos compile -p android运行以后出现the android-platform should be equal larger than 10的解决方案:
可以使用以下命令,解决此问题:cocos compile -p android --ap XX
--ap X 指定编译版本。你电脑上的SDK有什么版本,就编译什么版本。
源引:http://cn.cocos2d-x.org/tutorial/show?id=1862
- Cocos2d-JS开发常见问题汇总
- Symbian 开发常见问题汇总
- Android开发常见问题汇总
- Android 开发常见问题汇总
- Android开发常见问题汇总
- cocos2d - JS 打包APK常见问题
- Cocos2d-x常见问题汇总 第二期
- Cocos2d-x常见问题汇总 第二期
- WAP开发常见问题汇总篇
- WAP开发常见问题汇总篇
- WAP开发常见问题汇总篇
- 需求开发中常见问题汇总
- Android应用程序开发常见问题汇总
- OpenCms8.0.2开发常见问题汇总
- IAD开发常见问题汇总【翻译】
- IAD开发常见问题汇总(翻译)
- IAD开发常见问题汇总【翻译】
- 安卓开发常见问题汇总
- 《Java程序性能优化》学习笔记之ArrayList和LinkedList
- 类型转换中存在的问题
- IOS开发概述-07.IOS程序启动原理
- ACM/ICPC World Finals 2010 D Castles
- 关于二叉树的顺序存储和链式存储
- Cocos2d-JS开发常见问题汇总
- 51. N-Queens
- Oracle 检索数据
- 暑假集训第三周 STL 双队列
- 扩展欧几里得算法(两行代码求最大公约数)
- 单链表操作
- Android AsyncTask
- 壁纸 - 精选热门高清图片和主题专辑
- 面试题27_二叉搜索树与双向链表