进入主题
Android端
通过gameEngine.setRuntimeInterface获取Egret向本地发送的命令消息进行读取写入操作,这里只介绍sharedprefference,数据库存储类似。
/**
* 写入
* @param context
* @param key
* @param data
*/
public static void saveData(Context context, String key, Object data){
String type = data.getClass().getSimpleName();
SharedPreferences sharedPreferences = context
.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
if ("Integer".equals(type)){
editor.putInt(key, (Integer)data);
}else if ("Boolean".equals(type)){
editor.putBoolean(key, (Boolean)data);
}else if ("String".equals(type)){
editor.putString(key, (String)data);
}else if ("Float".equals(type)){
editor.putFloat(key, (Float)data);
}else if ("Long".equals(type)){
editor.putLong(key, (Long)data);
}
editor.commit();
}
/**
* 读取
* @param context
* @param key
* @param defValue
* @return
*/
public static Object getData(Context context, String key, Object defValue){
String type = defValue.getClass().getSimpleName();
SharedPreferences sharedPreferences = context.getSharedPreferences
(FILE_NAME, Context.MODE_PRIVATE);
//defValue为为默认值,如果当前获取不到数据就返回它
if ("Integer".equals(type)){
return sharedPreferences.getInt(key, (Integer)defValue);
}else if ("Boolean".equals(type)){
return sharedPreferences.getBoolean(key, (Boolean)defValue);
}else if ("String".equals(type)){
return sharedPreferences.getString(key, (String)defValue);
}else if ("Float".equals(type)){
return sharedPreferences.getFloat(key, (Float)defValue);
}else if ("Long".equals(type)){
return sharedPreferences.getLong(key, (Long)defValue);
}
return null;
}
最后
IOS端
通过[EgretRuntimegetInstance] setRuntimeInterface获取Egret向native发送的消息,并做相关处理
这里只介绍NSUserDefaults方式,其他方式类似,轻量级用这个也足够了。
#pragma mark - 写入
+ (void)setItem:(NSString *)key value:(NSString *)value{
NSUserDefaults *user = [NSUserDefaultsstandardUserDefaults];
[user setObject:value forKey:key];
}
#pragma mark - 读取
+ (NSString *)getItem:(NSString *)key{
NSUserDefaults *user = [NSUserDefaultsstandardUserDefaults];
NSString *value = [user objectForKey:key];
return value;
}
完成
原理,通过egret与本地通讯,实现native调用。
相关推荐
本库旨在为Egret封装常用的手势操作,因本人能力有限,有的实现并不完善,欢迎批评指正。Egret手势识别库egret_gesture目前已实现的手势: 1. Tap(点一下) 2. Double Tap (双击) 3. Pinch(二指往內或往外拨动,平时...
可以实现微信排行榜和分享功能demo ,可上传分数比较,有源码和发布后直接运行的代码。初学者,大佬勿喷。
EgretWing-v3.2.6
基于egret引擎的别踩白块游戏源码,在egret案例的基础上做了一些完善,包括点击后才开始计时,计时结束后不能再点击等等
Egret 引擎学习资料 ,Egret HTML5游戏开发指南.pdf.
Egret官网声音项目
基于egret引擎的拼图小游戏,设置三种难度,可打包成h5游戏或小游戏,包含实现的所有源码,有问题随时私信。
egret-core egret 官方示例代码,可参考使用,代码是较新版本的
egret 下拉框的制作,亲测可用;纯代码,可以使用;egret 下拉框的制作
egret摄像机移动
由于接手的egret项目原始美术资源丢失,于是用python写了一个把打包好的图集资源拆分工具。支持拆分两种图集资源:Egret MovieClip、Sprite Sheet。
egret贪吃蛇简单的小游戏制作,新手制作使用egret开发的小demo
Egret Conversion是一个Egret项目转换工具,可以将Flash项目转换到Egret HTML5项目中,支持Flash项目到Egret项目的一键高效转换,功能强大可扩展,支持AS3各种复杂语法特性,涵盖绝大部分的Flash API,并且支持swf...
Egret RPG 跑图Demo 2.5D地图 A星寻路 NPC 瓦片地图 Egret RPG 跑图Demo 2.5D地图 A星寻路 NPC 瓦片地图 Egret RPG 跑图Demo 2.5D地图 A星寻路 NPC 瓦片地图
调用原生JS 打包发布 3D引擎相关文档 更新详情 历史更新 开始使用 入门知识 Egret3D中的基本概念 使用方法 事件系统 资源载入 声音系统 Egret3D显示对象 Egret3D的摄像机 Egret3D中的几何体 Egret3D的模型 ...
使用命令行启动游戏 编译: egret build 运行预览: egret run 发布: egret publish
在Egret中,使用发布功能也非常的简单。你只需要使用如下命令即可: egret publish HelloWorld 此命令中egret publish为发布命令,HelloWorld是你当前项目的名称。 执行此命令后,egret会启动发布打包工作。此时的...
egret 游戏引擎 p2 Physic物理库 免费下载地址
使用egret开发的2048源码
多个egret 小游戏 ,可供学习