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,默认主题采用扁平化设计风格 ...
随机推荐
- Nginx负载均衡简易配置
多台Web服务器水平扩展,进行负载均衡对外服务,是一种很常见的方案. 常用方法用DNS轮询,LVS. DNS轮询虽然有配置简单的有点,但无法实现健康检查,DNS修改需要较长时间失效,对于无域名的内部服 ...
- Erlang 在erlang项目中使用protobuf
protobuf是google的一个序列化框架,类似XML,JSON,其特点是基于二进制,比XML表示同样一段内容要短小得多,还可以定义一些可选字段,广泛用于服务端与客户端通信.文章将着重介绍在erl ...
- 20-ab压力测试及nginx性能统计模块
一:找到apache ab模块. ab -c 1000 -n 50000 http://127.0.0.1/index.html 查看信息: 超过1024个线程 出现错误,说打开文件太多了.cket: ...
- Spring mybatis自动扫描dao
Spring注解方式会出现找不到dao的bean的情况 [解决方案] 在mybatis配置文件中加入以下绑定dao的方式: <!-- mapper接口namepspace绑定方式 -->& ...
- python 基础 8.5 re 的match对象
#/usr/bin/python #coding=utf-8 #@Time :2017/11/18 21:49 #@Auther :liuzhenchuan #@File :match对象.p ...
- SQLServer中游标实例介绍(转)
引言 我们先不讲游标的什么概念,步骤及语法,先来看一个例子: 表一 OriginSalary 表二 AddSalary 现在有2张表,一张是OriginSal ...
- android菜鸟学习笔记9----Activity(二)
关于Activity的生命周期: 下面是Activity整个生命周期中,状态发生变化时所回调的方法,它们对应着Activity完整的生命过程. void onCreate(Bundle savedI ...
- MessageDigest和DigestUtils加密算法
总结:使用DigestUtils的方法加密的结果与messageDigest的方法加密结果一致,可使用DigestUtils替换MessageDigest 可省掉部分代码 package com.a ...
- php xmlrpc使用示例
xmlrpc 远程过程调用, 使用xml文本方式传输数据. soap协议比xmlrpc复杂并强大. 1.修改 php.ini,开启 xmlrpc 扩展 2.rpc_client.php <?ph ...
- CentOS7的/tmp目录自动清理规则(转)
CentOS7的/tmp目录自动清理规则 CentOS6以下系统(含)使用watchtmp + cron来实现定时清理临时文件的效果,这点在CentOS7发生了变化,在CentOS7下,系统使用sys ...