Unity3d 面向对象设计思想(五)(游戏背包的处理ii)
2014-04-12 20:23
525 查看
续:
在Unity3d中,游戏中背包的处理个人的思想是,背包的每个格子都是可点击的对象,可把单个格子做成一个
prefabs,然后在游戏中添加,而每个格子都有逻辑判定,是否有道具在当前格子内,当前格子是否为空
我的做法不是动态生成对象,而是静态一个个手动加载背包对象,然后给每个背包命名。这样可以在当前背包格子
内加载了对象后将当前格子对象的名字分发出去
当前背包的ICOn只是一个已经调整好位置的空UISprite
a.定义一个对象组,存放所有的ICON对象
b.然后挨个加载当前背包需要显示的背景图片
void SetIcon (int i) {
if(obj[i])
NGUITools.AddSprite(obj[i], atlax, "Orc Armor - Shoulders");
if( !string.IsNullOrEmpty( obj[i].GetComponent<UISprite> ().spriteName) ) {
NGUITools.Broadcast("OnDetailsResult", "rc"+i);
} else {
// reload
}
}
c.使用NGUI的工具类动态加载图片对象到ICON的UISprite上
d.然后广播事件出去做逻辑处理
void OnDetailsResult (string rc) {
BetterList<string> entrtys = new BetterList<string> ();
if(!string.IsNullOrEmpty(rc)) {
entrtys.Add(rc);
// if(entrtys.size >0)
// TiledController.index = entrtys.size;
}
TiledController.index ++;
print("size" + entrtys.size);
}
这样可以实现背包的加载,也是一个静态显示用的背包,可以添加显示道具
:)
在Unity3d中,游戏中背包的处理个人的思想是,背包的每个格子都是可点击的对象,可把单个格子做成一个
prefabs,然后在游戏中添加,而每个格子都有逻辑判定,是否有道具在当前格子内,当前格子是否为空
我的做法不是动态生成对象,而是静态一个个手动加载背包对象,然后给每个背包命名。这样可以在当前背包格子
内加载了对象后将当前格子对象的名字分发出去
当前背包的ICOn只是一个已经调整好位置的空UISprite
a.定义一个对象组,存放所有的ICON对象
b.然后挨个加载当前背包需要显示的背景图片
void SetIcon (int i) {
if(obj[i])
NGUITools.AddSprite(obj[i], atlax, "Orc Armor - Shoulders");
if( !string.IsNullOrEmpty( obj[i].GetComponent<UISprite> ().spriteName) ) {
NGUITools.Broadcast("OnDetailsResult", "rc"+i);
} else {
// reload
}
}
c.使用NGUI的工具类动态加载图片对象到ICON的UISprite上
d.然后广播事件出去做逻辑处理
void OnDetailsResult (string rc) {
BetterList<string> entrtys = new BetterList<string> ();
if(!string.IsNullOrEmpty(rc)) {
entrtys.Add(rc);
// if(entrtys.size >0)
// TiledController.index = entrtys.size;
}
TiledController.index ++;
print("size" + entrtys.size);
}
这样可以实现背包的加载,也是一个静态显示用的背包,可以添加显示道具
:)
相关文章推荐
- Unity3d 面向对象设计思想(五)(游戏背包的处理ii)
- Unity3d 面向对象设计思想(四)(游戏背包的处理i)
- Unity3d 面向对象设计思想(四)(游戏背包的处理i)
- Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理)
- 游戏开发学习笔记(八)背包物品的使用出售处理
- Unity3d 面向对象设计思想(二)(动态UI的分配与调度)
- Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理)
- Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理)
- Unity3d 面向对象设计思想(二)(动态UI的分配与调度)
- Unity3d 面向对象设计思想(六)(Unity3d网络异步数据)
- 使用Unity3D的设计思想实现一个简单的C#赛车游戏场景
- Unity3d 面向对象设计思想(三)(对象的拆分)
- [Unity3d]游戏中子弹碰撞的处理
- 【转】Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理)
- Unity3d 面向对象设计思想(一)(UI的分配与调用)
- Unity3d游戏中添加移动MM支付SDK问题处理
- Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理)
- 一款游戏的背包数据非常规查找处理方法
- Unity3D ARPG游戏开发《最初的幻想》之GUI背包系统实现
- Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理--旧的动画系统)