【PSS SDK官方教程文档翻译】(7)编程向导之四:面向对象_2

发布时间:2012-05-08 14:55:32 网友评论0|进入论坛

  本文来源:PSS开发网,转载请注明出处!

  论坛讨论帖:http://bbs.duowan.com/thread-27455670-1-1.html

  Actor模型:

  让我们加入更多的游戏中需要的元素。

  ·星星
  ·你打出去的子弹
  ·敌人
  ·子弹打中时的爆炸效果

  如果上面提到的元素分开加入实现,程序将会变得越来越复杂。如果只是5种元素还是可以管理的,但是如果有一大堆元素,就不可能正常管理了。

  提取出游戏中元素之间共同部分,然后进行调用,会使得游戏管理变得简单。

  下面解释如何创建出一个基类,该基类包含其他元素中的共同元素。然后利用此基类来生成玩家,敌人,星星和子弹。

  打开Sample/Tutorial/Sample04_02.

  这部分用到的技术叫做Actor模型(actor model)。Actors充当玩家,敌人,星星,子弹的角色,他们会被赋予指令,程序就能执行了。

  在下面的程序中,定义了actor基类。

  Sample/Tutorial/TutoLib/Actor.cs

【PSS SDK官方教程文档翻译】(7)编程向导之四:面向对象_2

【PSS SDK官方教程文档翻译】(7)编程向导之四:面向对象_2

  关键点在于,每个函数前都有" virtual "声明,代表这个函数是一个虚函数。这就意味着,当子类覆盖了这个虚函数时,程序调用这个函数时,调用的就会是子类的函数。

  通过AddChild()函数,Actor可以添加一个子Actor。下面是AddChild()的图解。

  1. 首先,创建一个根actor(root actor)。

【PSS SDK官方教程文档翻译】(7)编程向导之四:面向对象_2

  2. 利用AddChild(player)添加一个玩家(player)。

【PSS SDK官方教程文档翻译】(7)编程向导之四:面向对象_2

  3. 利用root.AddChild(starManager)来添加星星管理器(starManager), 用来管理每个星星。

【PSS SDK官方教程文档翻译】(7)编程向导之四:面向对象_2

  4. 现在,将starManager作为父类,利用starManager.AddChild(star0)和starManager.AddChild(star1)方法,来添加star0和star1。

【PSS SDK官方教程文档翻译】(7)编程向导之四:面向对象_2

  针对actors制作一个树形结构,相比线性结构来说,使用起来会更方便。

  当root.Update()和root.Render()在Main()方法中的Update()和Render()方法调用时,程序将根据树图中所有actors的关系依次执行。

温馨提示:玩家可通过手机登陆tv.duowan.cn阅读多玩TVG新闻。 转帖到:
看完本文后有何评价? 已有0人评价,点选表情后可看到其他玩家的表态。
0
0
0
0
0
0
路过 期待 喜欢 讨厌 雷倒 泪奔

近期关注

  • Switch《塞尔达无双DX》正式宣传片 真正的究极完整版
  • 用纸皮玩游戏?Switch《LABO》正式发表 颠覆你对游戏的想象
  • 我快要控几不住我记几了!盘点2017年单机游戏二十大美腿
  • 《真三国无双8》新情报:月英的雷光长戟和探索收集玩法介绍
  • 《闪乱神乐Burst Re:Newal》中文版宣传视频 今春发售
  • 国产独立游戏佳作《蜡烛人》登陆PS4 新增时间挑战模式
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6