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为这个类。

时间: 2024-11-02 05:33:04

Component概念的相关文章

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

概念 Vue遵循Web Component规范,提供了自己的组件系统.组件是一段独立的代码,代表页面中某个功能块,拥有自己的数据.JS.样式,以及标签.组件的独立性是指形成自己独立的作用域,不会对其它组件产生任何副作用. Vue 组件是可复用 Vue 实例,接受相同的选项option对象 (除了一些根级特有的选项) 和使用相同的生命周期钩子,以及模板调用方式. Vue 组件可以嵌套,所以组件之间可以进行引用和通信 组件定义 Vue提供了专用的API来定义组件,组件构造器函数: Vue.exten

SAP UI5 - Component

学习下UI5的Component概念 UI5有两种Component: 一种是faceless component (class: sap.ui.core.Component), 这种component没有用户界面,一般用于从后台系统获取数据. 另一种是UI component(class: sap.ui.core.UIComponent), 这些组件是用于屏幕展示的,一般对应一个屏幕区域或者元素,可以被重复利用. 这两种component的基准类都是sap.ui.core.Component,

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

一.装饰模式 动态地给一个对象添加额外的职责.就增加功能来说,装饰模式相比生成子类更为灵活.有时我们希望给某个对象而不是整个类添加一些功能. 二.UML图 1.Component(概念中提到的对象接口),也就是"被装饰者".2.ConcreateComponent(未添加任何职责的,对象接口的子类).3.Decorator(装饰者抽象类),扩张了对象接口的功能.4.ConcreteDrcorator(具体装饰类),具体怎么装饰对象接口的在这些类里面反映. 三.例子 比如有一个手机,允许

常用移动web开发框架--转载

阅读目录 1.1 jQuery mobile flat-ui 主题 1.2jQuery mobile Bootstrap 主题 4.1 GMU 4.2 Clouda+ 4.3 efe 5.1 Spirit 5.2 Frozen UI 纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族,Sencha Touch来自于ExtJS.jQuery Mobi

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

纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族,Sencha Touch来自于ExtJS.jQuery Mobile 和Sencha Touch都是比较成熟老牌的框架,项目中也有应用.国内也有公司,像BAT巨头也在探索和实现了适合自己的移动web框架. 1.jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移

移动web app开发框架

文章地址:http://www.cnblogs.com/soulaz/p/5586787.html jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mobile应用用户界面.jQuery Mobile最新版本是1.4.0,默认主题采用扁平化设计风格.jQuery Mobile1.4.0主要侧重于性能和控件方面的改进.除了全新的默认主题和SVG图标,还新增了开关控件.通用过滤器.箭头弹出框.滑动提示框等一系列功能,更是集成了jQuery UI的Tab

移动web开发框架

纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族,Sencha Touch来自于ExtJS.jQuery Mobile 和Sencha Touch都是比较成熟老牌的框架,项目中也有应用.国内也有公司,像BAT巨头也在探索和实现了适合自己的移动web框架. 1.jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移

移动web开发框架研究

原文网址链接:http://blog.csdn.net/xyz_lmn/article/details/41052977 纯粹的总结一下移动web开发框架,移动web开发框架有jQueryMobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族,Sencha Touch来自于ExtJS.jQuery Mobile 和Sencha Touch都是比较成熟老牌的框架,项目中也有应用.国内也有公司,像BAT巨头也在探索和实现了

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

jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mobile应用用户界面.jQuery Mobile最新版本是1.4.0,默认主题采用扁平化设计风格.jQuery Mobile1.4.0主要侧重于性能和控件方面的改进.除了全新的默认主题和SVG图标,还新增了开关控件.通用过滤器.箭头弹出框.滑动提示框等一系列功能,更是集成了jQuery UI的Tab部件.jQuery Mobile继承了jQuery的优势,并且提供了丰富的适合手机应用的UI组件.j