加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

CryENGINE3系列总结教程之UI/HUD(二)Flash资源导入CE3

发布时间:2020-12-15 17:30:49 所属栏目:百科 来源:网络整理
导读:? ? 紧接上回,既然我们已经成功做好了生命条和弹药条的动画,并且已经发布,那么就是时候导入到ce3了,好了废话不多说,直接 进入步骤。 ? ?(一)创建xml文件 ? ? ? 1.在engine rootGameSDKLibsUIUIElements文件夹下,新建xml文件:NewHUD.xml。 ? ? ?

? ? 紧接上回,既然我们已经成功做好了生命条和弹药条的动画,并且已经发布,那么就是时候导入到ce3了,好了废话不多说,直接 进入步骤。

? ?(一)创建xml文件

? ? ? 1.在<engine root>GameSDKLibsUIUIElements文件夹下,新建xml文件:NewHUD.xml。

? ? ? ? ?这里说明一下,如果没有这个文件夹,需要自己手动去建立。而引擎自带的那些HUD的文件时被打包到GameData.pak这个文件里。你可以解压它并使用它的文件夹,但一定要主要xml和接下来的swf的文件存放路径,如果不对,再怎么折腾也看不到效果,我就是因为这个,拜拜浪费了一天多的时间。

? ? ? 2.每个xml文件布局很简单,可以包含多个flash资源的定义。它以<UIElements>开始,</UIElements>结束。添加如下Element定义: ? ? ? ??

<UIElements name="HUD">
  <UIElement name="NewHUD" render_lockless="1">     
    <GFx file="NewHUD.swf" layer="1">
      <Constraints>
         <Align mode="dynamic" valign="center" halign="center" scale="1" max="0" />
      </Constraints>
    </GFx>	
	<functions>
	    <function name="SetWeapon" desc="" funcname="setCurrentWeapon">
		    <param name="WeaponName" desc="" type="string"/>
			<param name="AmmoName" desc="" type="string"/>
		</function>
		
		<function name ="SetAmmo" desc="" funcname="setAmmo">
		    <param name="CurrAmmo" desc="" type="int"/>
			<param name="MaxAmmo" desc="" type="int"/>
		</function>
	</functions>
	
	<MovieClips>
	    <MovieClip name="HealthBar" desc="" instancename="healthMC"/>
	</MovieClips>
	
	<Variables>
	    <Variable name="HealthValue" desc="" varname="healthMC.currHealth.text"/>
	</Variables>
  </UIElement>   
</UIElements>
? ? ? ? 这里就不做解释了,这部分内容将会在我的另一个总结CE3编程里面详细说明。

? ? ? ?3.保存xml,复制NewHUD.swf到<engine root>GameSDKLibsUINewHUD.swf。

? ? ? ?4.CE3支持重载swf文件,所以最好把fla文件也保存到这里,以后可以这里打开fla并发布swf。

? ? ? ?5.这里再次强调,文件目录。如下图

? ? ? ? ??

? ? ? ? ? ? ? ? ??

(二) ?使用UI Emulator显示并测试资源

? ? ? ? 1.启动sandbox,打开UI Emulator ? ? ? ? ? ??

? ? 2.下面是它的主窗口

? ??

? ? ?

? ? ? 在第二个标签的下面这个地方DisplayInfo 后面点两次,可以隐藏掉右上角的状态信息

? ??

? ? 选中自己的Element,并找到相应的函数,在右边函数输入框中输入值,点Call按钮就可以测试了

? ??

(三)让HUD工作

? ? ? 1.进入游戏模式,使用hide_hud 1(具体看上次总结)隐藏自带的HUD

? ? ? 2.创建UIAction,要注意路径

? ??

? ? 3.关于具体实现,我就直接给出我的FG截图了,大家可以跟着这里的翻译一步一步做。

? ? ? ?说明一下,教材中提到的几个节点有变化,大家以我的为准。

? ? ? ?首先上截图:

? ? ?

? ??

? ? ? ? ? ?好像只有两个地方跟下面的解释(以前的版本)有冲突,我用白框框起来的

? ??

? ? ? 还是那句话,这些节点命名很规范,大家一般看过名字就能大概猜出他的意思,把鼠标移动上去会有解释,此外,如果遇到因为版本问题不存在的节点,大家也不要着急,急着去问其他人,而应该自己想想办法,这里我能想到最好的办法,就是用Q键直接搜索。

? ? ? 最后贴上解释(这里的解释来自教程《CryENGINE3 GameDevelopm ?Beginner Guide》中文版电子书:在这里向伟大的译者致敬!

? ? ? ??

? ? ? ?


? ? ? ? ?

? ? 最后,总结一下,这部分内容,就简单介绍到这里,我会在以后的CE3编程那本总结中的正确位置,详细剖析CE3的UI部分。

? ? 还是那句话,有问题可以留言,我们一起期待大牛们出现帮我们解惑~

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读