转自: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概念的更多相关文章

  1. vue-learning:25 - component - 概念-定义-注册-使用-命名

    概念 Vue遵循Web Component规范,提供了自己的组件系统.组件是一段独立的代码,代表页面中某个功能块,拥有自己的数据.JS.样式,以及标签.组件的独立性是指形成自己独立的作用域,不会对其它 ...

  2. Redux 核心概念

    http://gaearon.github.io/redux/index.html ,文档在 http://rackt.github.io/redux/index.html .本文不是官方文档的翻译. ...

  3. 设计模式--装饰模式Decorate(结构型)

    一.装饰模式 动态地给一个对象添加额外的职责.就增加功能来说,装饰模式相比生成子类更为灵活.有时我们希望给某个对象而不是整个类添加一些功能. 二.UML图 1.Component(概念中提到的对象接口 ...

  4. 移动web开发框架

    纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...

  5. 常用移动web开发框架研究分析

    纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...

  6. 移动web app开发框架

    文章地址:http://www.cnblogs.com/soulaz/p/5586787.html jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mo ...

  7. 移动web开发框架研究

    纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架.jQuery Mobile出自于jQuery家族 ...

  8. 介绍几个移动web app开发框架

    jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mobile应用用户界面.jQuery Mobile最新版本是1.4.0,默认主题采用扁平化设计风格.j ...

  9. 移动web开发研究

    1.jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mobile应用用户界面.jQuery Mobile最新版本是1.4.0,默认主题采用扁平化设计风格 ...

随机推荐

  1. Nginx负载均衡简易配置

    多台Web服务器水平扩展,进行负载均衡对外服务,是一种很常见的方案. 常用方法用DNS轮询,LVS. DNS轮询虽然有配置简单的有点,但无法实现健康检查,DNS修改需要较长时间失效,对于无域名的内部服 ...

  2. Erlang 在erlang项目中使用protobuf

    protobuf是google的一个序列化框架,类似XML,JSON,其特点是基于二进制,比XML表示同样一段内容要短小得多,还可以定义一些可选字段,广泛用于服务端与客户端通信.文章将着重介绍在erl ...

  3. 20-ab压力测试及nginx性能统计模块

    一:找到apache ab模块. ab -c 1000 -n 50000 http://127.0.0.1/index.html 查看信息: 超过1024个线程 出现错误,说打开文件太多了.cket: ...

  4. Spring mybatis自动扫描dao

    Spring注解方式会出现找不到dao的bean的情况 [解决方案] 在mybatis配置文件中加入以下绑定dao的方式: <!-- mapper接口namepspace绑定方式 -->& ...

  5. python 基础 8.5 re 的match对象

    #/usr/bin/python #coding=utf-8 #@Time   :2017/11/18 21:49 #@Auther :liuzhenchuan #@File   :match对象.p ...

  6. SQLServer中游标实例介绍(转)

    引言 我们先不讲游标的什么概念,步骤及语法,先来看一个例子: 表一 OriginSalary                      表二 AddSalary 现在有2张表,一张是OriginSal ...

  7. android菜鸟学习笔记9----Activity(二)

    关于Activity的生命周期: 下面是Activity整个生命周期中,状态发生变化时所回调的方法,它们对应着Activity完整的生命过程. void  onCreate(Bundle savedI ...

  8. MessageDigest和DigestUtils加密算法

    总结:使用DigestUtils的方法加密的结果与messageDigest的方法加密结果一致,可使用DigestUtils替换MessageDigest 可省掉部分代码  package com.a ...

  9. php xmlrpc使用示例

    xmlrpc 远程过程调用, 使用xml文本方式传输数据. soap协议比xmlrpc复杂并强大. 1.修改 php.ini,开启 xmlrpc 扩展 2.rpc_client.php <?ph ...

  10. CentOS7的/tmp目录自动清理规则(转)

    CentOS7的/tmp目录自动清理规则 CentOS6以下系统(含)使用watchtmp + cron来实现定时清理临时文件的效果,这点在CentOS7发生了变化,在CentOS7下,系统使用sys ...