Component概念
转自:http://www.cnblogs.com/NEOCSL/archive/2012/05/06/2485227.html
1.总结
Component就是组建的意思,可以在DefaultProperties中加入类似,SpriteComponent,SkeletalMeshComponent,StaticMeshComponent,DynamicLightEnvironmentComponent丰富自己建立的类。
2.组建的一些属性
bHiddenGame=true
bHiddenEditor=true
bOwnerNoSee=true
3.组件示例

defaultproperties { begin object class=SpriteComponent name=Mysprite Sprite=Texture2D'EditorResources.S_Keypoint' HiddenGame=true end object Components.add(MySprite) begin object class=SkeletalMeshComponent name=MyMesh SkeletalMesh=SkeletalMesh
'CH_IronGuard_Male.Mesh.SK_CH_IronGuard_MaleA' //见下面的光照 LightEnvironment=MyLight end object Components.add(MyMesh) begin object class=DynamicLightEnvironmentComponent name=MyLight bCastShadow=false end object Components.add(MyLight) }

4.不想继承组建,可以删除之
如果在子类中不想要父类的一些组建可以删除之
Components.Remove(MySprite)
5.组建同样可以引发一些错误
如果父类中已经在组建中使用了一个name,则重新为相同类组建命名相同名字会发生错误:
例如这里给
begin object class="SpriteComponent" name=Sprite
就会发生错误,因为name=Sprite在前边的类中已经使用了,所以命名为Sprite比较合适。
6.实时的改变组建,例如可以改变玩家的外观
如果想要实时的改变组建,一个方法便是将组建写入到函数中。或是使用Kismet的toggle来调节。
①使用Use函数来改变手电筒,在Pawn中

var SpotLightComponent FlashLight; exec funtion Use() { if(AntPawn(Pawn)!=none) { //这将会是一个很巧妙地Toggle方法 AntPawn(Pawn).FlashLight.SetEnabled(!AntPawn(Pawn).FlashLight.bEnabled);
}
} defaultproperties { begin Object class=SpotLightComponent name=MySpotLight bEnabled=true Radius=1024 Brightness=1.900 end object Components.add(MySpotLight) FlashLight=MySpotLight }

②kismet中使用Toggle来调整

var StaticMeshComponent MyStaticMeshComponent; var Material GreenMat,RedMat; simulated function OnToggle(SeqAct_Toggle Action) { if(Action.InputLinks[2].bHasImpulse) {
if(MyStaticMeshComponent.GetMaterial(0)==GreenMat) MyStaticMeshComponent.SetMaterial(0,RedMat); else MyStaticMeshComponent.SetMaterial(0,GreenMat); } defaultproperties { begin object class=StaticMeshComponent name=MyStaticMesh StaticMesh=StaticMesh'UN_SimpleMeshes.TexPropCube_Dup' Materials(0)=Material'EditorMaterials.WidgetMaterial_Y' end object Components.add(MyStaticMesh) GreenMat=Material'EditorMaterials.WidgetMaterial_Y' RedMat=Material'EditorMaterials.WidgetMaterial_X' }

连接Toggle的Target为这个类。
Component概念的更多相关文章
- vue-learning:25 - component - 概念-定义-注册-使用-命名
概念 Vue遵循Web Component规范,提供了自己的组件系统.组件是一段独立的代码,代表页面中某个功能块,拥有自己的数据.JS.样式,以及标签.组件的独立性是指形成自己独立的作用域,不会对其它 ...
- Redux 核心概念
http://gaearon.github.io/redux/index.html ,文档在 http://rackt.github.io/redux/index.html .本文不是官方文档的翻译. ...
- 设计模式--装饰模式Decorate(结构型)
一.装饰模式 动态地给一个对象添加额外的职责.就增加功能来说,装饰模式相比生成子类更为灵活.有时我们希望给某个对象而不是整个类添加一些功能. 二.UML图 1.Component(概念中提到的对象接口 ...
- 移动web开发框架
纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...
- 常用移动web开发框架研究分析
纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...
- 移动web app开发框架
文章地址:http://www.cnblogs.com/soulaz/p/5586787.html jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mo ...
- 移动web开发框架研究
纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架.jQuery Mobile出自于jQuery家族 ...
- 介绍几个移动web app开发框架
jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mobile应用用户界面.jQuery Mobile最新版本是1.4.0,默认主题采用扁平化设计风格.j ...
- 移动web开发研究
1.jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mobile应用用户界面.jQuery Mobile最新版本是1.4.0,默认主题采用扁平化设计风格 ...
随机推荐
- 规范-Git打标签与版本控制
Git打标签与版本控制规范 前言 本文适用于使用Git做VCS(版本控制系统)的场景. 用过Git的程序猿,都喜欢其分布式架构带来的commit快感.不用像使用SVN这种集中式版本管理系统,每一次提交 ...
- Win7获取管理权限修改Host文件以其他权限问题
——win7管理员权限修改Host文件——百度经验 win7管理员权限获取办法: win7管理员权限 获取办法——经验——百度 win7最高权限获取: win7最高权限 获取——百度经验
- 向oracle中插入date时,持久层sql怎么写???
public class EmpDao { public void addEmp(Emp emp) throws SQLException { QueryRunner runner = new Que ...
- error_logger 爆炸
具有讽刺意味的是,负责错误日志的进程竟然是最为脆弱的之一.在Erlang的缺省安装中,error_logger39负责记录日志(写入磁盘或者发送到网络上),它的速度要比错误产生的速度慢得多.尤其是在记 ...
- erlang中判断进程是否存活
一个参数的方法是已知Pid判断进程是否存活.两个参数的方法是已知节点和Pid或进程名判断进程是否存活. is_process_alive(Pid) when is_pid(Pid)->rpc:c ...
- matlab 学习之常用函数2
-----------------------------author:midu ---------------------------qq:1327706646 ------------------ ...
- Mac 下 Git 的基础命令行操作
Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...
- 【BZOJ1095】[ZJOI2007]Hide 捉迷藏 动态树分治+堆
[BZOJ1095][ZJOI2007]Hide 捉迷藏 Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩捉 ...
- 前端JSONPJIE解决跨域问题
解决同源策略的两个方法 1 . JSONP jsonp (将 JSON 数据填充进回调函数,这就是JSONP的JSON+Padding 的含义) jsonp是json用来跨域的一个东西,原理是通过sc ...
- 《avascript 高级程序设计(第三版)》 ---第二章 在HTML中使用Javascript
本章主要讲解了,怎么在HTML中使用: 1.<script src=""></script> 属性:defer="defer" 表示脚本 ...