annie.Stage Class
Stage 表示显示 canvas 内容的整个区域,所有显示对象的顶级显示容器
Item Index
Methods
- _updateSplitBounds
- addChild
- addChildAt
- addEventListener
- addSound
- addUpdateObj static
- allUpdateObjList static
- clearCustomTransform
- destroy
- dispatchEvent
- DisplayObject
- getChildAt
- getChildByName
- getChildIndex
- getDrawRect
- getFrameRate
- getRootDivWH
- getSound
- getWH
- globalToLocal
- hasEventListener
- hitTestPoint
- localToGlobal
- removeAllChildren
- removeAllEventListener
- removeChild
- removeChildAt
- removeEventListener
- removeSound
- removeUpdateObj static
- resize
- setFrameRate
- Sprite
- Stage
- startDrag
- stopAllSounds
- stopDrag
- swapChild
- updateCache
Properties
- alpha
- anchorX
- anchorY
- autoResize
- autoSteering
- bgColor
- blendMode
- cacheAsBitmap
- children
- desHeight
- desWidth
- divHeight
- divWidth
- filters
- height
- hitArea
- hitTestWithPixel
- instanceId
- instanceType
- iosTouchendPreventDefault
- isCache
- isMultiMouse
- isMultiTouch
- isPreventDefaultEvent
- mask
- matrix
- mcSpeed
- mouseChildren
- mouseEnable
- name
- parent
- pause static
- renderObj
- renderType
- rootDiv
- rotation
- scaleMode
- scaleX
- scaleY
- skewX
- skewY
- soundList
- stage
- viewRect
- visible
- width
- x
- y
Methods
_updateSplitBounds
()
private
更新boundsList矩阵
addChildAt
-
child
-
index
添加一个child到Sprite中并指定添加到哪个层级
Parameters:
-
child
annie.DisplayObject -
index
Number从0开始
Returns:
addEventListener
-
type
-
listener
-
useCapture
给对象添加一个侦听
Parameters:
Returns:
Example:
this.addEventListener(annie.Event.ADD_TO_STAGE,function(e){console.log(this);}.bind(this));
addSound
-
sound
返回一个id,这个id你要留着作为删除他时使用。 这个声音会根据这个显示对象添加到舞台时播放,移出舞台而关闭
Parameters:
-
sound
annie.Sound
Returns:
addUpdateObj
-
target
添加一个刷新对象,这个对象里一定要有一个 flush 函数。 因为一但添加,这个对象的 flush 函数会以stage的fps间隔调用 如,你的stage是30fps 那么你这个对象的 flush 函数1秒会调用30次。
Parameters:
-
target
Object要循化调用 flush 函数的对象
Returns:
allUpdateObjList
()
static
要循环调用 flush 函数对象列表
clearCustomTransform
-
transId
如果你在mc更改了对象的x y scale rotation alpha,最后想还原,不再需要自我控制,可以调用这方法
Parameters:
-
transId
Number//0->x,1->y,2->scaleX,3->scaleY,4->rotation,5->alpha,-1->all
destroy
()
Void
public
销毁一个对象 销毁之前一定要做完其他善后工作,否则有可能会出错 特别注意不能在对象自身方法或事件里调用此方法。 比如,不要在显示对象自身的 annie.Event.ON_REMOVE_TO_STAGE 或者其他类似事件调用,一定会报错
Returns:
dispatchEvent
-
event
-
data
-
useCapture
广播侦听
Parameters:
-
event
annie.Event | String广播所带的事件对象,如果传的是字符串则自动生成一个annie.Event对象,事件类型就是传入进来的字符串的值
-
data
Object广播后跟着事件一起传过去的其他任信息,默认值为null
-
useCapture
Booleantrue 捕获阶段 false 冒泡阶段 默认 true
Returns:
如果有收听者则返回true
Example:
var mySprite=new annie.Sprite(),
yourEvent=new annie.Event("yourCustomerEvent");
yourEvent.data={a:1,b:2,c:"hello",d:{aa:1,bb:2}};
mySprite.addEventListener("yourCustomerEvent",function(e){
console.log(e.data);
})
mySprite.dispatchEvent(yourEvent);
DisplayObject
()
public
getChildAt
-
index
获取Sprite中指定层级一个child
Parameters:
-
index
Number从0开始
Returns:
getChildByName
-
name
-
isOnlyOne
-
isRecursive
通过给displayObject设置的名字来获取一个child,可以使用正则匹配查找
Parameters:
getChildIndex
-
child
获取Sprite中一个child所在的层级索引,找到则返回索引数,未找到则返回-1
Parameters:
-
child
annie.DisplayObject子对象
Returns:
getRootDivWH
-
div
小游戏不支持 小程序不支持
获取引擎所在的div宽高Parameters:
-
div
HTMLDivElement
Returns:
getWH
()
W: number; h: number
获取宽高
Returns:
}
hitTestPoint
-
hitPoint
-
isGlobalPoint
点击碰撞测试,就是舞台上的一个point是否在显示对象内,在则返回该对象,不在则返回null
Parameters:
-
hitPoint
annie.Point要检测碰撞的点
-
isGlobalPoint
Boolean是不是全局坐标的点,默认false是本地坐标
Returns:
removeAllChildren
()
Void
public
移除Sprite上的所有child
Returns:
removeAllEventListener
()
Void
public
移除对象中所有的侦听
Returns:
removeChild
-
child
从Sprite中移除一个child
Parameters:
-
child
annie.DisplayObject
Returns:
removeEventListener
-
type
-
listener
-
useCapture
移除对应类型的侦听
Parameters:
Returns:
removeUpdateObj
-
target
移除掉已经添加的循环刷新对象
Parameters:
-
target
Object
Returns:
resize
()
Void
public
当舞台尺寸发生改变时,如果stage autoResize 为 true,则此方法会自己调用; 如果设置stage autoResize 为 false 你需要手动调用此方法以更新界面. 不管autoResize 的状态是什么,你只要侦听 了stage 的 annie.Event.RESIZE 事件 都可以接收到舞台变化的通知。
Returns:
setFrameRate
-
fps
引擎的刷新率,就是一秒中执行多少次刷新
Parameters:
-
fps
Number最好是60的倍数如 1 2 3 6 10 12 15 20 30 60
Returns:
Sprite
()
public
构造函数
Stage
-
rootDivId
-
desW
-
desH
-
fps
-
scaleMode
-
renderType
显示对象入口函数
startDrag
-
isCenter
-
bounds
启动鼠标或者触摸拖动
Parameters:
-
isCenter
Boolean指定将可拖动的对象锁定到指针位置中心 (true),还是锁定到用户第一次单击该对象的位置 (false) 默认false
-
bounds
annie.Rectangle相对于显示对象父级的坐标的值,用于指定 Sprite 约束矩形
Returns:
stopAllSounds
()
Void
public
停止这个显示对象上的所有声音
Returns:
stopDrag
()
停止鼠标跟随
updateCache
()
Void
如果对容器缓存为位图过,则会更新缓存,没事别乱调用
Returns:
Properties
bgColor
String #FFFFFF" 或 RGB(255,255,255) 或 RGBA(255,255,255,255)
public
舞台的背景色 默认为""就是透明背景 可能设置一个颜色值改变舞台背景
cacheAsBitmap
Unknown
是否将这个对象缓存为位图了
height
Unknown
public
获取或者设置显示对象在父级里的y方向的高,不到必要不要用此属性获取高 如果你要同时获取宽高,建议使用getWH()方法获取宽和高
hitArea
Unknown
annie.Sprite显示容器的接受鼠标点击的区域。一但设置,容器里所有子级将不会触发任何鼠标相关的事件。 相当于 mouseChildren=false,但在有大量子级显示对象的情况下,此方法的性能搞出mouseChildren几个数量级,建议使用。
Sub-properties:
-
rect
annie.Rectangle
instanceId
Number
public
每一个annie引擎对象都会有一个唯一的id码。
Example:
//获取 annie引擎类对象唯一码
console.log(this.instanceId);
iosTouchendPreventDefault
Boolean
public
小游戏不支持 小程序不支持
是否阻止ios端双击后页面会往上弹的效果,因为如果阻止了,可能有些html元素出现全选框后无法取消 所以需要自己灵活设置,默认阻止.Default: true
name
String
public
每一个显示对象都可以给他命一个名字,这样我们在查找子级的时候就可以直接用this.getChildrndByName("name")获取到这个对象的引用
Default: ""
renderObj
IRender
public
当前stage所使用的渲染器 渲染器有两种,一种是canvas 一种是webGl
Default: null
rootDiv
Html Div
public
小游戏不支持 小程序不支持
整个引擎的最上层的div元素, 承载canvas的那个div html元素Default: null
scaleMode
String
public
舞台的缩放模式 默认为空就是无缩放的真实大小 "noBorder" 无边框模式 ”showAll" 显示所有内容 “fixedWidth" 固定宽 ”fixedHeight" 固定高
Default: "onScale"
Example:
//动态更改stage的对齐方式示例
//以下代码放到一个舞台的显示对象的构造函数中
let s=this;
s.addEventListener(annie.Event.ADD_TO_STAGE,function(e){
let i=0;
s.stage.addEventListener(annie.MouseEvent.CLICK,function(e){
let aList=[annie.StageScaleMode.EXACT_FIT,annie.StageScaleMode.NO_BORDER,annie.StageScaleMode.NO_SCALE,annie.StageScaleMode.SHOW_ALL,annie.StageScaleMode.FIXED_WIDTH,annie.StageScaleMode.FIXED_HEIGHT]
let state=e.currentTarget;
state.scaleMode=aList[i];
if(i>5){i=0;}
}
}
stage
Stage
public
此显示对象所在的舞台对象,如果此对象没有被添加到显示对象列表中,此对象为空。
Default: null;
viewRect
annie.Rectangle
public
舞台在设备里截取后的可见区域,有些时候知道可见区域是非常重要的,因为这样你就可以根据舞台的可见区域做自适应了。
Default: {x:0,y:0,width:0,height:0}
Example:
//始终让一个对象顶对齐,或者
width
Unknown
public
获取或者设置显示对象在父级里的x方向的宽,不到必要不要用此属性获取高 如果你要同时获取宽高,建议使用 getWH()方法获取宽和高
Events
ADD_TO_STAGE
annie.DisplayObject显示对象加入到舞台事件
annie.Event.ON_INIT_STAGE
annie.Stage舞台初始化完成后会触发的事件
annie.Event.ON_RUN_CHANGED
annie引擎暂停或者恢复暂停时触发,这个事件只能在annie.globalDispatcher中监听
annie.Event.RESIZE
小游戏不支持 小程序不支持
annie.Stage舞台尺寸发生变化时触发ENTER_FRAME
annie.DisplayObject显示对象 循环帧事件
MOUSE_DOWN
annie.DisplayObject鼠标或者手指按下事件
MOUSE_MOVE
annie.DisplayObject鼠标或者手指移动事件
MOUSE_OUT
annie.DisplayObject鼠标或者手指移出显示对象边界触发的事件
MOUSE_OVER
annie.DisplayObject鼠标或者手指移入到显示对象上里触发的事件
MOUSE_UP
annie.DisplayObject鼠标或者手指抬起事件
REMOVE_TO_STAGE
annie.DisplayObject显示对象从舞台移出事件