0%

性能优化

  • 参考官方图形性能优化
  • 将同一个场景或节点下的散图打包为图集。
  • 将图片质量从 RGBA8888 降为 RGBA4444
  • 预加载游戏资源,缓存数据、图片、声音等。
  • 单一线程的游戏中,采取分帧处理或加载,减少单帧的运算量。

分辨率适配

  • 通过 GlView::setDesignResolutionSize 设置分辨率适配规则。

  • 适配策略 ResolutionPolicy

    • FIXED_HEIGHT,适配屏幕高度,宽度按比例缩放。
    • FIXED_WIDTH,适配屏幕宽度,高度按比例缩放。
    • NO_BORDER,按设计分辨率比例充满屏幕,多余部分被裁减,没有黑边。
阅读全文 »

列举了一些游戏项目开发中的工具技术备忘录,基于 Cocos2d-x v3.16 和 Lua 5.1.5。

图片处理

图集制作

  • 使用 TexturePacker 将散图打包成为图集 SpriteSheet 。

图片优化

  • 使用 ImageOptim 对图片进行无损/有损压缩。
  • 在线工具:TinyPng 对图片进行有损压缩。

图标制作

  • 使用 Python Image Library 将 1024x1024 的图片生成各种大小的图标。
  • 在线工具:图标工场,一键生成所有尺寸的应用图标/启动图。
阅读全文 »

API 查询接口

淘宝

1
2
http://ip.taobao.com/service/getIpInfo.php?ip=myip # 查询当前设备 ip
http://ip.taobao.com/service/getIpInfo.php?ip=39.156.69.79 # 查询指定ip地址

返回数据格式(json 格式)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
code: 0,
data: {
ip: "39.156.69.79",
country: "中国",
area: "",
region: "北京",
city: "北京",
county: "XX",
isp: "移动",
country_id: "CN",
area_id: "",
region_id: "110000",
city_id: "110100",
county_id: "xx",
isp_id: "100025"
}
}

优点:国内响应速度快。

缺点:有访问频率限制,小于1qps;无法查询 ipv6 地址。

阅读全文 »

UILocalNotification 已经在 iOS10 中被废弃了。需要使用 UserNotifications.Framework 来推送通知。

获取权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
// 使用 UNUserNotificationCenter 来管理消息
UNUserNotificationCenter *unCenter = [UNUserNotificationCenter currentNotificationCenter];
// 注册回调代理
unCenter.delegate = self;
// 获取授权,第一次调用会弹出授权对话框
[unCenter requestAuthorizationWithOptions:UNAuthorizationOptionSound|UNAuthorizationOptionAlert|UNAuthorizationOptionBadge completionHandler:^(BOOL granted, NSError * _Nullable error) {
// granted 是否获取用户授权
}];
}

#pragma mark - UNUserNotificationCenterDelegate
// 收到通知时的回调
- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler {
// 处理完通知后调用,通知系统已处理完毕
completionHandler();
}
阅读全文 »

最近将 Android Studio 中的 Gradle 插件从 2.3.3 升级到 3.5.1,项目中出现很多报错,统计一下。

升级

修改 dependicies

1
2
3
4
5
6
buildscript {
dependencies {
// classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.android.tools.build:gradle:3.5.1'
}
}
阅读全文 »