RGB游戏解析

来源:互联网 发布:住户部门贷款数据 编辑:程序博客网 时间:2024/03/29 14:18
界面分析
游戏层级关系:
1:游戏背景
2:NPC和人物在同一层
3:背景遮挡层(屋檐)
4:按钮UI层,包括聊天和组队
5:弹出层
6:系统提示层
7:系统文字层


游戏流程
1:CSV加载
2:map,init
   npc
   player
3: UI.init






动态加载 Asset
所有需要通过脚本动态加载的资源,都必须放置在 resources 文件夹或它的子文件夹下。resources 需要在 assets 文件夹中手工创建,并且必须位于 assets 的根目录


Creator 提供了 cc.loader.loadRes 这个 API 来专门加载那些位于 resources 目录下的 Asset。和 cc.loader.load 不同的是,loadRes 一次只能加载单个 Asset。


//getCholdByName 获取某个节点     getComponent  获取节点的某个元素
            that._addSpriteFrameToContainer(newNode.getChildByName('pic').getComponent(cc.Sprite), personOb.icon)




动画:
1:创建站立和跑步的逐帧动画的创建。
2:将2个动画绑定到同一个Animation组件上。
3:使用代码控制播放2个动画进行切换。
4:只有NODE可以添加on侦听。
5:尝试让点击地图,人物跑到目标点,结合之前的全局局域坐标的转换。






全屏点击事件处理
全屏的点转换成玩家的点
遮挡处理 不停三个NPC Y坐标进行排序,Z轴顺序的变更




Node节点
图片隐藏方法
1: visible
2:opacity 
3:节点的active   //勾选    定时器里显示为ture
4:destroy    //从显示移除








getChildByName:                            访问节点


getComponent:                              访问节点层级的组件


cc.find:                                    从根节点处查找
cc.find('UIScript').getComponent('talkPanelControl').pub_showTalkInfo(that._talkPersonOb)


cc.loader.loadRes                           动态加载Asset




===================================================================
误区:
在properties: {
        _lifeProgress:0
    },
里面设的值,有时候会出现失误,所以应该在
onLoad: function () {
        this._lifeProgress = 1;   
    },重新赋一下值就好了






dt:是这一帧与上一帧的间隔差
update:function(dt){
      this._lifeProgress +=dt
      if(this._lifeProgress > 1) this._lifeProgress = 0;
      this.headPanel.getChildByName("lifeBar").getComponent(cc.ProgressBar).progress = this._lifeProgress
     }
===================================================================
0 0
原创粉丝点击