Hilo游戏引擎——view视图模块(重点)

所有的模块的基础,有很多模块继承改模块属性

(该模块会有大量的一样的继承属性和方法,要仔细观看)

分为以下模块

  • Bitmap
  • BitmapText
  • Button
  • CacheMixin
  • Container
  • DOMElement
  • Drawable
  • Graphics
  • Sprite
  • Stage
  • Text
  • View

Bitmap

Bitmap类表示位图图像类。
使用示例:

var bmp = new Hilo.Bitmap({image:imgElem, rect:[0, 0, 100, 100]});
stage.addChild(bmp);

属性概览

没有自带属性

继承属性

align:String|Function
可视对象相对于父容器的对齐方式。取值可查看Hilo.align枚举对象。

alpha:Number
可视对象的透明度。默认值为1。

background:Object
可视对象的背景样式。可以是CSS颜色值、canvas的gradient或pattern填充。

boundsArea:Array
可视对象的区域顶点数组。格式为:[{x:10, y:10}, {x:20, y:20}]。

depth:Number
可视对象的深度,也即z轴的序号。只读属性。

drawable:Drawable
可视对象的可绘制对象。供高级开发使用。

height:Number
可视对象的高度。默认值为0。

id:String
可视对象的唯一标识符。

mask:Graphics
可视对象的遮罩图形。

onUpdate:Function
更新可视对象,此方法会在可视对象渲染之前调用。此函数可以返回一个Boolean值。若返回false,则此对象不会渲染。默认值为null。 限制:如果在此函数中改变了可视对象在其父容器中的层级,当前渲染帧并不会正确渲染,而是在下一渲染帧。可在其父容器的onUpdate方法中来实现。

parent:Container
可视对象的父容器。只读属性。

pivotX:Number
可视对象的中心点的x轴坐标。默认值为0。

pivotY:Number
可视对象的中心点的y轴坐标。默认值为0。

pointerEnabled:Boolean
可视对象是否接受交互事件。默认为接受交互事件,即true。

rotation:Number
可视对象的旋转角度。默认值为0。

scaleX:Number
可视对象在x轴上的缩放比例。默认为不缩放,即1。

scaleY:Number
可视对象在y轴上的缩放比例。默认为不缩放,即1。

tint:Number
可视对象的附加颜色,默认0xFFFFFF,只支持WebGL模式。

transform:Matrix
可视对象的transform属性,如果设置将忽略x, y, scaleX, scaleY, rotation.

visible:Boolean
可视对象是否可见。默认为可见,即true。

width:Number
可视对象的宽度。默认值为0。

x:Number
可视对象的x轴坐标。默认值为0。

y:Number
可视对象的y轴坐标。默认值为0。

方法概览

自带方法

Bitmap(properties:Object)
构造函数
properties:Object — 创建对象的属性参数。可包含此类所有可写属性。此外还包括:
image – 位图所在的图像image。必需。
rect – 位图在图像image中矩形区域。

setImage(image:Image|String, rect:Array):Bitmap
设置位图的图片。
image:Image|String — 图片对象或地址。
rect:Array — 指定位图在图片image的矩形区域。
return(返回值)
Bitmap — 位图本身。

继承方法

addTo(container:Container, index:Uint):View
添加此对象到父容器。

fire(type:String, detail:Object):Boolean
发送事件。当第一个参数类型为Object时,则把它作为一个整体事件对象。

getBounds():Array
获取可视对象在舞台全局坐标系内的外接矩形以及所有顶点坐标。

getScaledHeight():Number
返回可视对象缩放后的高度。

getScaledWidth():Number
返回可视对象缩放后的宽度。

getStage():Stage
返回可视对象的舞台引用。若对象没有被添加到舞台,则返回null。

hitTestObject(object:View, usePolyCollision:Boolean)
检测object参数指定的对象是否与其相交。

hitTestPoint(x:Number, y:Number, usePolyCollision:Boolean):Boolean
检测由x和y参数指定的点是否在其外接矩形之内。

off(type:String, listener:Function):Object
删除一个事件监听。如果不传入任何参数,则删除所有的事件监听;如果不传入第二个参数,则删除指定类型的所有事件监听。

on(type:String, listener:Function, once:Boolean):Object
增加一个事件监听。

removeFromParent():View
从父容器里删除此对象。

render(renderer:Renderer, delta:Number)
可视对象的具体渲染逻辑。子类可通过覆盖此方法实现自己的渲染。

toString():String
返回可视对象的字符串表示。

BitmapText

BitmapText类提供使用位图文本的功能。当前仅支持单行文本。

属性概览

自带属性

glyphs:Object
位图字体的字形集合。格式为:{letter:{image:img, rect:[0,0,100,100]}}。

letterSpacing:Number
字距,即字符间的间隔。默认值为0。

text:String
位图文本的文本内容。只读属性。设置文本请使用setText方法。

textAlign:String
文本对齐方式,值为left、center、right, 默认left。只读属性。设置文本对齐方式请使用setTextAlign方法。

继承属性

继承属性和上Bitmap的继承属性一样

方法概览

自带方法

BitmapText(properties:Object)
构造函数
properties:Object — 创建对象的属性参数。可包含此类所有可写属性。

hasGlyphs(str:String):Boolean
返回能否使用当前指定的字体显示提供的字符串。
str:String — 要检测的字符串。
return(返回值)
Boolean — 是否能使用指定字体。

setText(text:String):BitmapText
设置位图文本的文本内容。
text:String — 要设置的文本内容。
return(返回值)
BitmapText — BitmapText对象本身。链式调用支持。

createGlyphs(text:String, image:Image, col:Number, row:Number):BitmapText
简易方式生成字形集合。
text:String — 字符文本。
image:Image — 字符图片。
col:Number — 列数 默认和文本字数一样
row:Number — 行数 默认1行
return(返回值)
BitmapText — BitmapText对象本身。链式调用支持。

继承方法

继承方法和上Bitmap的继承方法一样

Button 按钮

Button类表示简单按钮类。它有弹起、经过、按下和不可用等四种状态。

示例:

var btn = new Hilo.Button({
    image: buttonImage,
    upState: {rect:[0, 0, 64, 64]},
    overState: {rect:[64, 0, 64, 64]},
    downState: {rect:[128, 0, 64, 64]},
    disabledState: {rect:[192, 0, 64, 64]}
});

属性概览

自带属性

disabledState:Object
按钮不可用状态的属性或其drawable的属性的集合。drawable(可拖拽的)

downState:Object
按钮按下状态的属性或其drawable的属性的集合。

enabled:Boolean
指示按钮是否可用。默认为true。只读属性。

overState:Object
按钮经过状态的属性或其drawable的属性的集合。

state:String
按钮的状态名称。它是 Button.UP|OVER|DOWN|DISABLED 之一。 只读属性

upState:Object
按钮弹起状态的属性或其drawable的属性的集合。

useHandCursor:Boolean
当设置为true时,表示指针滑过按钮上方时是否显示手形光标。默认为true。

OVER:String
按钮经过状态的常量值,即:’over’

DOWN:String
按钮按下状态的常量值,即:’down’。

DISABLED:String
按钮不可用状态的常量值,即:’disabled’。

UP:String
按钮弹起状态的常量值,即:’up’。

继承属性

继承属性和上Bitmap的继承属性一样

方法概括

自带方法

Button(properties:Object)
构造函数
properties:Object — 创建对象的属性参数。可包含此类所有可写属性。此外还包括:
image – 按钮图片所在的image对象。

setEnabled(enabled:Boolean):Button
设置按钮是否可用。
enabled:Boolean — 指示按钮是否可用。
return(返回值)
Button — 按钮本身。

setState(state:String):Button
设置按钮的状态。此方法由Button内部调用,一般无需使用此方法。
state:String — 按钮的新的状态。
return(返回值)
Button — 按钮本身。

CacheMixin (隐藏混入)

CacheMixin是一个包含cache功能的mixin。可以通过 Class.mix(target, CacheMixin) 来为target增加cache功能。

方法概览

cache(forceUpdate:Boolean)
缓存到图片里。可用来提高渲染效率。
forceUpdate:Boolean — 是否强制更新缓存

setCacheDirty(dirty:Boolean)
设置缓存是否dirty
dirty:Boolean — 是否dirty

updateCache()
更新缓存

Container 容器

Container是所有容器类的基类。每个Container都可以添加其他可视对象为子级。

属性概览

children:Array
容器的子元素列表。只读。

clipChildren:Boolean
指示是否裁剪超出容器范围的子元素。默认为false。

pointerChildren:Boolean
指示容器的子元素是否能响应用户交互事件。默认为true。

继承属性

继承属性和上Bitmap的继承属性一样

方法概览

Container(properties:Object)
构造函数
properties:Object — 创建对象的属性参数。可包含此类所有可写属性。

addChild(child:View)
在最上面添加子元素。
child:View — 要添加的子元素。

addChildAt(child:View, index:Number)
在指定索引位置添加子元素。
child:View — 要添加的子元素。
index:Number — 指定的索引位置,从0开始

contains(child:View)
返回是否包含参数指定的子元素。
child:View — 指定要测试的子元素。

getChildAt(index:Number)
返回指定索引位置的子元素。
index:Number — 指定要返回的子元素的索引值,从0开始。

getChildById(id:String)
返回指定id的子元素。
id:String — 指定要返回的子元素的id。

getChildIndex(child:View)
返回指定子元素的索引值。
child:View — 指定要返回索引值的子元素。

getNumChildren():Uint
返回容器的子元素的数量。
Uint — 容器的子元素的数量。

getViewAtPoint(x:Number, y:Number, usePolyCollision:Boolean, global:Boolean, eventMode:Boolean)
返回由x和y指定的点下的对象。
x:Number — 指定点的x轴坐标。
y:Number — 指定点的y轴坐标。
usePolyCollision:Boolean — 指定是否使用多边形碰撞检测。默认为false。
global:Boolean — 使用此标志表明将查找所有符合的对象,而不仅仅是第一个,即全局匹配。默认为false。
eventMode:Boolean — 使用此标志表明将在事件模式下查找对象。默认为false。

removeAllChildren():Container
删除所有的子元素。
Container — 容器本身。

removeChild(child:View):View
删除指定的子元素。
child:View — 指定要删除的子元素。
return(返回值)
View — 被删除的对象。

removeChildAt(index:Int):View
在指定索引位置删除子元素。
index:Int — 指定删除元素的索引位置,从0开始。
return(返回值)
View — 被删除的对象。

removeChildById(id:String):View
删除指定id的子元素。
id:String — 指定要删除的子元素的id。
return(返回值)
View — 被删除的对象。

setChildIndex(child:View, index:Number)
设置子元素的索引位置。
child:View — 指定要设置的子元素。
index:Number — 指定要设置的索引值。

sortChildren(keyOrFunction:Object)
根据指定键值或函数对子元素进行排序。
keyOrFunction:Object — 如果此参数为String时,则根据子元素的某个属性值进行排序;
如果此参数为Function时,则根据此函数进行排序。

swapChildren(child1:View, child2:View)
交换两个子元素的索引位置。
child1:View — 指定要交换的子元素A。
child2:View — 指定要交换的子元素B。

swapChildrenAt(index1:Number, index2:Number)
交换两个指定索引位置的子元素。
index1:Number — 指定要交换的索引位置A。
index2:Number — 指定要交换的索引位置B。

DOMElement 对象

DOMElement是dom元素的包装。( 注意:DOMElement 的父容器必须是 stage )
使用示例:

var domView = new Hilo.DOMElement({
    element: Hilo.createElement('div', {
        style: {
            backgroundColor: '#004eff',
            position: 'absolute'
        }
    }),
    width: 100,
    height: 100,
    x: 50,
    y: 70
}).addTo(stage);

属性概览

没有自带属性

继承属性

继承属性和上Bitmap的继承属性一样

方法概览

自带方法

DOMElement(properties:Object)
构造函数
properties:Object — 创建对象的属性参数。可包含此类所有可写属性。特殊属性有:
element – 要包装的dom元素。必需。

继承方法

继承方法和上Bitmap的继承方法一样

发表评论

邮箱地址不会被公开。 必填项已用*标注