总结
Zszen_John
6年网络移动广告开发经验,2年页游团队开发经验,6年iOS,安卓cocos2dx开发经验,2年iOS原生应用开发经验,2年Unity2d开发经验,5年H5游戏/互动开发经验。 个人iOS app store搜索账户: Zstudio,为他人开发游戏在app store下搜索账户:Reanix。
展开
-
工程开发的程序设计与逻辑设计
很多时候我们要做庞大工程, 就像一棵大树, 方方面面都有自己的细枝末节,而作为开发员的我们,无法时时刻刻去保持对程序的全面认知,所以我们要把程序设计与逻辑设计区分开来。原创 2014-10-25 00:55:31 · 1003 阅读 · 0 评论 -
android 下 cocos2dx 后台黑屏的解决办法
问题描述:1.运行游戏,无问题2.游戏点击网站链接,或进入后台,回来黑屏3.eclipse控制台报错: 03-01 17:51:55.347: W/Adreno-ES20(8664): <__load_uniform_matrix:1091>: GL_INVALID_OPERATION 03-01 17:51:55.347: D/cocos2d-x debug info(8664): O原创 2016-03-01 21:36:00 · 7835 阅读 · 1 评论 -
Tween的应用与个人理解
Tween是什么tween是网上一大类功能的统称: 缓动。顾名思义运动起来起到平滑的作用,那么tween都能干什么?视觉表现的东西都可以用tween来表现,甚至某些非视觉表现的东西也可以。运动可以用于运动的缓动进度条更加人性化在进度条没有任何程序或者网络优化下,本身也能更好的缓解用户等待的烦躁,使用tween缓动,前10%使用快速淡入,后10%使用快速淡出,会在边界点时减少用户烦躁。原创 2016-02-01 00:39:45 · 1033 阅读 · 0 评论 -
Xcode7 总结
主要还是支持ios9, 其他功能也没有啥改变的启动画面由xib变为Storyboard (纯游戏开发无用技能)真机调试不再那么繁琐了,用普通的appID就能进行真机调试,具体步骤仅需再acount添加账号,选择free,随后fix 即可进行真机调试。(待证实)最新的iOS9 推出,苹果为加强安全管理,迫使将http协议转为安全的 https协议,那么以往的代码,运行起来就会有警告或者编译有问题转载 2015-09-23 12:33:06 · 1792 阅读 · 0 评论 -
配置Google Analytics
1) ios篇下载SDK添加到ios中需要引用的类:#import "GAI.h"#import "GAIDictionaryBuilder.h"#import "GAIFields.h"参考官方: https://developers.google.com/analytics/devguides/collection/ios/v3/分析网址https://apps.admob.com/#an原创 2016-01-26 13:33:08 · 1011 阅读 · 0 评论 -
iOS开发缺少framework对应错误提示
StoreKit.frameworkUndefined symbols for architecture i386:"_OBJC_CLASS_$_SKPayment", referenced from:objc-class-ref in Parse(PFPurchase.o)"_OBJC_CLASS_$_SKPaymentQueue", referenced from:objc-class-原创 2015-09-27 16:18:28 · 7040 阅读 · 0 评论 -
烦人的Facebook分享授权
开发端授权app权限facebook要求提交应用到他们平台, 而且还限制100mb, 坑爹死了, 果断使用google drive分享给他们, 最开始不确定分享给他们什么样的程序包, 结果审核没通过 这里给大家一个官方发布包的参考, 特喵的不在提交的地方着重给个链接, 挠死你 https://developers.facebook.com/docs/ios/getting-started/adv原创 2016-01-29 19:04:50 · 7982 阅读 · 0 评论 -
总结谷歌 google IAB的测试流程
之前写的帖子有点乱, 我又整理了一下, 流程如下:apk必须是google签名, 并通过eclipse->export导出的release版本, debug版本无效必须保证测试机和线上提交beta or alpha的二进制版本一致, 因为debug版是不能被release版覆盖的, 两个签名不太一样, 所以用到上个帖子的 adb install -r 强制安装将测试机内绑定google mar原创 2015-10-02 00:22:06 · 1809 阅读 · 1 评论 -
cocos2dx 2.x系列存在的CFNetwork不支持64位问题
v2版本的cocos2dx 升级64位的时候没有升级干净, 像是用CCHttpClient的HttpClient对象中就会导致新设备不支持而发生崩溃的问题发生问题: 解决方案: cocos2dx 2.2.6在arm64中release版本libcurl的bug将HttpClient内的int32_t都改为long原创 2015-11-28 20:12:57 · 729 阅读 · 0 评论 -
对称位置排列
当进行ui设置的排列处理, 经常会遇到头痛的对称排列问题: 以一个点 (一般为原点或者0点) 为中心, 将n个 (不定值) 显示对象 (比如按钮) 对称排列如果按照奇数来排列: 这样排列 第二个对象为0位置 1对应-1D 2对应0D 3对应1D如果按照偶数排列: 第二三个对象分别到0点距离为半个间距 1对应-1.5D 2对应-0.5D 3对应0.5原创 2016-03-05 19:48:13 · 1231 阅读 · 0 评论 -
亚马逊 Amazon iap v2.0 加入eclipse流程
引用官方说明 (外部配置) 官方说明 (内部配置)具体步骤:注意事项:允许通过 ADB 和 logcat 登录的 Android 开发环境支持 SDK 版本 10 或更高版本的 Android 设备实施 IAP v2.0 和/或移动联营 API 的 Android 应用如果之前安装了适用于 IAP v1.0 的 SDK Tester,需卸载 SDK Tester。 测试原1.0 sdk原创 2016-03-18 15:18:14 · 1637 阅读 · 0 评论 -
Unity 问题汇总
如何将屏幕坐标投射到3d空间中transform.position = Camera.main.ScreenToWorldPoint (pot);//Input.mousePosition 可以得到当前触摸屏位置点为什么设置鼠标跟随但是在运行的game下看不到检查几个地方:运行时camera的深度运行时gameObject的深度如果两个深度相等, 再看camera的clipping plan原创 2016-03-26 16:10:59 · 1140 阅读 · 0 评论 -
Unity 2d 开发实战
简单创建带有图片的GameObject将图片拖拽到场景中再将场景中产生的对象拖回到Assets中, 此时可以用脚本来创建和控制此对象更改GameObject的颜色SpriteRenderer sr = (SpriteRenderer)GetComponents<SpriteRenderer> ()[0];sr.color = new Color (183/255.0f, 165/255.0f原创 2016-03-24 16:22:16 · 934 阅读 · 0 评论 -
iOS 崩溃错误分析
多数错误很诡异, 慢慢总结这些错误 首先通过之前文章解析出来的crash文档来汇总各种错误的首要提示: Exception SubtypeEXC_BAD_ACCESS / KERN_INVALID_ADDRESS 无效的内核内存地址EXC_CRASH / EXC_CORPSE_NOTIFY 崩溃通知 ?找到真正的崩溃线程崩溃来自sharesdklibdyld.dylib崩溃错误在原创 2016-03-22 13:52:33 · 1304 阅读 · 0 评论 -
facebook 社会化分享 android部分
分享为什么成为程序员最痛苦的东西 ?注意几点: oauth url网址绝对要匹配对生成校验key hashs时候一定要确定keystore的路径, 最好用引号阔上并不支持android多平台放在同一个facebook app下 原因就是因为分享这种东西,受到了服务器各种条件制约和时间限制,导致很多平台都不能马上处理好这些平台分享权限,很多平台还要求信息审核,facebook更甚,需要应用提交原创 2016-03-02 18:58:02 · 1410 阅读 · 0 评论 -
xcode 新版查询用户 crash log 的方法
新版已经可以通过Organizer自动下载官方客户 crash log 信息了但是我目前的项目按照以前的做法, 打包文件, 工程都存在的情况下, 并不给我指明错误位置, 如图 红线即为游戏, 显示的只有内存地址, 这时候就需要用到以前crash分析的方法, 本身苹果帮我们自动下载了相关的crash log, 就是打包好的 这里点击一个错误, 右键菜单, 选择查看finder下的文件 进一步打开原创 2016-03-20 01:32:42 · 923 阅读 · 0 评论 -
ios crash log查看
查看crash log需要以下要求:打包时的原文件, 在window下的Organizer下的Archives, 找到崩溃出错的对应版本打包文件, 点右键进入文件夹内找到路径”dSYMs/YourApp.app.dSYM”symbolicatecrash文件从xcode6的对应目录拷贝出来: /Applications/Xcode.app/Contents/Developer/Platform原创 2015-11-28 19:59:24 · 783 阅读 · 0 评论 -
亚马逊 Amazon Ad 加入Eclipse
链接:layoutsdk导入:把 AmazonMobileAds 中的 amazon-ads-xxx.jar 导入到工程中创建界面配置新建linearlayout配置 命名:amazon_ad_layout.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:Amazon="h原创 2016-03-18 19:46:18 · 1805 阅读 · 0 评论 -
MediaWiki 用起来还是比较麻烦的
参考: http://blog.csdn.net/wangnan537/article/details/37743497打开代码支持:require_once("$IP/extensions/geshi/GeSHiMain.php");打开扩展编辑器支持require_once "$IP/extensions/WikiEditor/WikiEditor.php";# Enables use of原创 2015-11-25 22:26:07 · 1782 阅读 · 0 评论 -
xcode中c++变量断点不显示
调试xcode的时候无论如何都显示不出来变量的值, 下面列出解决办法Optimization Level方法debug下改为none 默认我的就是none, 所以这个无效 http://blog.csdn.net/ajrm0925/article/details/8646956检查Run下的编译是否是Debug, 查了一下是 edit scheme -> run -> Info 中查看bu原创 2015-11-19 19:50:00 · 1309 阅读 · 0 评论 -
Mac下清理DNS缓存的方法
更改域名时候ping不会马上更改ip地址打开terminal 输入: sudo dscacheutil -flushcache输入密码即可, 再次ping 域名肯定会变化的转载 2015-09-07 20:50:22 · 38157 阅读 · 2 评论 -
Xcode自动化版本编号
自动更新Build版本号#update version## Get project infobuildPlist="${PROJECT_DIR}/${INFOPLIST_FILE}"buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$buildPlist")versionString=$(/usr/libexe原创 2015-09-30 02:20:48 · 589 阅读 · 0 评论 -
变量命名
清晰写法aa_bb_cc_dd便于书写写法aaBbCcDd变量命名结构顺序{动作}{类型}{名称}{附属}例如getCountOfAppleByJohn();布尔值用is更明了, 在复杂程序中很容易列出例如isHasAppleWithJohn();内部函数和方法, 最好以下划线开头, 这样避免外部类调用误引用错例如_internalApp原创 2015-04-17 17:23:15 · 563 阅读 · 0 评论 -
申请 app store 退款
步骤在这里:http://www.idaddy.cn/faq/v5251.html另外 如果这个软件你没有卸载, 是无法在"报告问题"列表里面看到你的那个软件的转载 2015-03-25 14:55:41 · 948 阅读 · 0 评论 -
用symbolicatecrash工具来解析app crash log信息
这里我说的是xcode6上的操作首先获取crash的log, 一个是从连接设备上抓取, 像这样:或者从app itunesconnect上下载玩家的crash log:然后将发布的对应的版本的app和dsym文件拷贝到和crash文件同一个目录symbolicatecrash文件从xcode6的对应目录:/Applications转载 2015-01-13 20:10:38 · 1027 阅读 · 3 评论 -
一些总结
我现在习惯把遇到的问题和解决办法发在blog上, 当然很多时候都需要查资料, 我的一般理解是转帖: 原封不动的复制粘贴, 或者大部分是别人的内容原创: 自己的总结, 如果有一点点就算转帖, 那就没任何原创内容了原创 2014-12-22 00:39:04 · 456 阅读 · 0 评论 -
Mac OS X 下修改文件属性:创建时间、修改时间
http://blog.csdn.net/wang9834664/article/details/8028697打开terminal 然后输入"touch -mt YYYYMMDDhhmm "不带引号, 主要让你看到有空格, 然后将所有要修改的文件, 一起拖拽进来, 一个回车搞定yyyy 年MM 月DD 日hhmm 小时和分钟比如 201412010转载 2014-12-01 16:49:30 · 15934 阅读 · 1 评论 -
程序开发的一点小总结
程序开发的一点小总结, 给要学习一门新语言的朋友一些帮助, :P原创 2014-10-31 02:29:07 · 857 阅读 · 0 评论 -
APP商店配置技术
苹果:配置商店技术iCloud 显示设置: 可以将 iCloud 存储容器合并到显示设置中,以便来自同一组织的 App 用户在 iCloud 中只会看到一个数据存储位置。使用 iTunes Connect 定义 iCloud 显示设置,包括设置显示设置 ID(用于在 App 二进制文件中使用将 App 与显示设置关联)。iAd App Network: iAd App Network 为原创 2015-09-30 23:34:12 · 566 阅读 · 0 评论 -
ShareSDK v3简化版 升级问题
缓存旧版本问题在sharesdk新的v3接口和文档中给出了新的衔接方法, 但我发现置入的方式会出错, 不会显示出新api的功能 于是我查找build setting的sharesdk path, 确实让我找到了 在framewok search paths和libarary search paths 中都存在旧版本的索引目录, 而我移除旧版本时并没有扔到废纸篓, 只是移除引用, 但是这个xcod原创 2015-09-26 13:18:13 · 3304 阅读 · 0 评论 -
C++ vector 经常用到的小知识
打乱vectorrandom_shuffle(quence.begin(), quence.end());获取随机位的值srand(unsigned(time(0)));...poolDirect[rand()%poolDirect.size()]原创 2015-12-11 17:25:32 · 432 阅读 · 0 评论 -
关于ios审核被踢回的问题分析
和同事聊天, 聊到审核问题上, 同事说苹果拒绝的话根本不提示你到底什么原因, 也总结了我自己经历的一些问题, 里面提到模糊错误有可能在以下几种情况, 应该对你有一定的帮助 :审核时错误:经过人工审核导致app无法通过的错误可能性1.testin等:用于测试信息回馈, 我猜苹果不允许第三方监测app数据分析, 估计如果testflight如果没有被收购, 肯定也会遭遇这个待遇2.友盟等:此类框架支持第原创 2015-11-22 00:06:50 · 1406 阅读 · 0 评论 -
Mac模拟器进行远程调试
功能摘自本人的这篇文章: 烦人的Facebook分享授权 重新整理了一番模拟环境程序打包:模拟器路径查找, 找这个位置: /Users/{用户名}/Library/Developer/Xcode/DerivedData/找到你的模拟器app: 关闭xcode, 并全选,清空里面所有缓存项目 打开xcode, 通过模拟器编译生成出来一个和项目有关联的文件夹 /Users/{用原创 2015-11-20 18:43:20 · 1569 阅读 · 0 评论 -
从hostmonster把域名迁到阿里云
之前一直用hostmaster的域名, 现在移动到阿里云, 需要注意以下几点:进入hostmonster官网 http://www.hostmonster.com/登录进入 点击domain主页 查看下面两个箭头的地方, lock锁定状态必须是unlock, privacy隐私必须是disabled 如果不是, 进去改就ok了接下来来到阿里云的域名服务系统 , 也就是域名服务->域名列表 ht原创 2015-09-22 16:26:44 · 985 阅读 · 0 评论 -
检查iOS项目中是否使用了IDFA
啥是IDFA关于IDFA,在提交应用到App Store时,iTunes Connect有如下说明: 检查IDFA的方法:打开终端cd到要检查的文件的根目录(记住是项目根目录, 不是ipa目录, 原作者不说清除)执行下列语句:grep -r advertisingIdentifier .例子1:虽然ShareSDK本身没使用IDFA,但是ShareSDK里面的新浪微博SDK使用了。这点Sha转载 2015-09-22 11:48:37 · 4474 阅读 · 0 评论 -
决定放弃 Cocos Studio
本是怀着激动的心情摒弃cocosbuilder, 转为用cocos studio 结果发现完全无法胜任工作cocos studio 缺点:启动速度极慢 (吃多少内存没有详细去看)功能很多, 但是真正提供实用的细节完全没有bug, 会导致项目假死, 升级后工程一直假死, 重新打开也一样bug, 会导致操作时崩溃强推更新, 这个软件去年接触过一次, 就因为不稳定删掉了, 而它并不给你带来宽容原创 2015-09-21 03:01:22 · 2904 阅读 · 2 评论 -
Cocosdx android编译更新编译器后注意事项
笔者使用cocos2dx for android编译, 之前的工作都交由xcode完成 更改引擎版本会出现一些报错, 以下是解决方法修改对应的Cocos2dx路径文件为android工程目录下的 build_native.sh 文件COCOS2DX_ROOT="/Applications/android/cocos2dx/cocos2dx2.2.6"这里不解决, 会报warning, 接下来ndk原创 2015-10-01 21:41:24 · 613 阅读 · 0 评论 -
如何创建一个安卓Android应用
纯技术贴….首先你要有开发帐号到这个网址: https://play.google.com/apps/publish/选择 添加新应用商品详情页面填写: 名称, 简短描述, 完整描述 (支持多国语言, 中文下纯英文会有警告)图片资源 默认需要手机和平板电脑两个屏幕的截图, 这两个也比较容易适配高分辨率图标 512大小置顶大图 1024 x 500宣传图片 180 x 120电视原创 2015-10-02 08:27:01 · 938 阅读 · 0 评论 -
微软远程桌面mac/ios/android客户端
https://msdn.microsoft.com/zh-cn/library/dn473009%28v=ws.11%29.aspx?f=255&MSPPError=-2147217396mac 中国账户无法从app store下载, 下载此版本 https://rink.hockeyapp.net/apps/5e0c144289a51fca2d3bfa39ce7f2b06/原创 2017-01-15 23:47:50 · 2513 阅读 · 0 评论