cocos2d-x开发: 场景实体(entity)管理(2)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:03 点击:

p> 

p> 1 local entity = class( "entity", nil )

p> 2 

p> 3 entity.debug_mode_ = true

p> 4 entity.debug_color_ = cc.c4f( 0, 1, 0, 1 )

p> 5 entity.callback_list_ = {}

p> 6 entity.runtime_id_ = nil

p> 7 

p> 8 function entity:set_debug_mode( mode )

p> 9     self.debug_mode_ = mode

p>10 end

p>11 

p>12 function entity:get_debug_mode()

p>13     return self.debug_mode_

p>14 end

p>15 

p>16 function entity:set_debug_color( color )

p>17     self.debug_color_ = color

p>18 end

p>19 

p>20 function entity:get_debug_color()

p>21     return self.debug_color_

p>22 end

p>23 

p>24 function entity:set_runtime_id( runtime_id )

p>25     self.runtime_id_ = runtime_id

p>26 end

p>27 

p>28 function entity:get_runtime_id()

p>29     return self.runtime_id_

p>30 end

p>31 

p>32 function entity:register_callback( callback, target )

p>33     if callback == nil then

p>34         return

p>35     end

p>36 

p>37     for _, v_t in ipairs( self.callback_list_ ) do

p>38         if v_t[1] == callback and v_t[2] == target then

p>39             return

p>40         end

p>41     end

p>42 

p>43     table.insert( self.callback_list_, { callback, target } )

p>44 end

p>45 

p>46 function entity:remove_callback( callback, target )

p>47     if callback == nil then

p>48         return

p>49     end

p>50 

p>51     for index, v_t in ipairs( self.callback_list_ ) do

p>52         if v_t[1] == callback and v_t[2] == target then

p>53             table.remove( self.callback_list_, index )

p>54         end

p>55     end

p>56 end

p>57 

p>58 function entity:update( dt )

p>59     local callback

p>60     local target

p>61     for _, v_t in ipairs( self.callback_list_ ) do

p>62         callback = v_t[1]

p>63         target = v_t[2]

p>64         if target ~= nil then

p>65             callback( target, dt )

p>66         else

p>67             callback( dt )

p>68         end

p>69     end

p>70 end

p>71 

p>72 return entity

p> 

p> 

p> 

p>这是一个基类的实现,不算复杂,也很好理解,就没什么好说的了.为什么要写一个entity base类呢? 因为现在的项目可能会用序列帧,也可能会用骨骼动画. 如果是骨骼动画的话,那么所有的action都比较好处理, bounding_box也很好获得.相应的接口就是
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • Cocos2d-x学习(一):HelloWorld
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d 设置屏幕默认方向
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
  • cocos2d-x学习笔记(15)--地图的使用(TMX)
  • cocos2dx在xcode下开发,编译到android上(2)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1