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,默认主题采用扁平化设计风格 ...
随机推荐
- markdownPad2 绿色破解版安装
markdownpad2,默认为markdown传统风格,不能编辑分行的代码段,可以在设置里改为Github 风格,但需要付费激活,以下是绿色安装包,附激活方法 下载地址 https://pan.ba ...
- Portal实现原理
https://blog.csdn.net/sukyle/article/details/6456930
- TP实例化模型的两种方式 M() D()
TP框架中实例化模型的两种方式 #如果使用自己自定义的函数,那么就用D $mode=D('model'); #如果使用是系统自带的函数,那么就是用M $model=M('model');
- onvif 开发之video streamer---onvif实现功能和经验
目录(?)[-] 一产生onvif源码框架 从wsdl生成C头文件 从头文件生成源码框架 二创建soap运行环境 三RTSP视频对接 实现GetCapabilities命令 实现GetServices ...
- POJ 2965:The Pilots Brothers' refrigerator
id=2965">The Pilots Brothers' refrigerator Time Limit: 1000MS Memory Limit: 65536K Total S ...
- phthon 基础 7.3 logging 日志模块
一. logging 的使用 日志是我们排查问题的关键利器,写好日志记录,当我们发生问题时,可以快速定位代码范围进行修改.python有给我们开发者提供好的日志模块,下面我们就来介绍一下logging ...
- ubuntu 安装 pygame 很好玩的东西
1. 简介 pygame 是基于对 SDL库的python 封装,提供python接口.SDL(Simple DirectMedia Layer) 是一个跨平台的游戏开发库,方便游戏开发和移植.目前最 ...
- Asp.Net Mvc: 浅析TempData机制
一. Asp.Net Mvc中的TempData 在Asp.Net Mvc框架的ControllerBase中存在一个叫做TempData的Property,它的类型为TempDataDictiona ...
- Intellij IDEA创建的Web项目配置Tomcat并启动Maven项目(转)
大部分是直接上图哦. 点击如图所示的地方,进行添加Tomcat配置页面 弹出页面后,按照如图顺序找到,点击+号 tomcat Service -> Local 注意,这里不要选错了哦,还有一个T ...
- php总结5——常量、文件上传
5.1常量 系统常量: PHP_OS 操作系统 PHP_VERSION php版本 PHP_SAPI 运行方式 自定义常量: define("常量名称"," ...