annie.Stage Class
Stage 表示显示 canvas 内容的整个区域,所有显示对象的顶级显示容器 无法以全局方式访问 Stage 对象,而是需要利用DisplayObject实例的getStage()方法进行访问
Item Index
Methods
- _changeMouseCount
- _onDispatchBubbledEvent
- addChild
- addChildAt
- addEventListener
- addUpdateObj static
- allUpdateObjList static
- dispatchEvent
- DisplayObject
- flushAll static
- getBounds
- getChildAt
- getChildByName
- getChildIndex
- getDrawRect
- getFrameRate
- getRootDivWH
- getWH
- globalToLocal
- hasEventListener
- hitTestPoint
- kill
- localToGlobal
- removeAllChildren
- removeAllEventListener
- removeChild
- removeChildAt
- removeEventListener
- removeUpdateObj static
- render
- resize
- setFrameRate
- Stage
- startDrag
- stopDrag
- update
Properties
- _currentFlush
- _enterFrameEvent
- _flush
- _MECO
- _offsetX
- _offsetY
- _texture
- _UI
- alpha
- anchorX
- anchorY
- autoResize
- autoSteering
- bgColor
- blendMode
- cacheAsBitmap
- cAlpha
- cFilters
- children
- cMatrix
- desHeight
- desWidth
- divHeight
- divWidth
- filters
- height
- instanceId
- instanceType
- iosTouchendPreventDefault
- isMultiMouse
- isMultiTouch
- isPreventDefaultEvent
- mask
- matrix
- mouseChildren
- mouseEnable
- name
- parent
- pause
- renderObj
- renderType
- rootDiv
- rotation
- scaleMode
- scaleX
- scaleY
- skewX
- skewY
- stage
- viewRect
- visible
- width
- x
- y
Methods
_changeMouseCount
-
type
-
isAdd
增加或删除相应mouse或touch侦听记数
_onDispatchBubbledEvent
-
type
-
updateMc
调用此方法对Sprite及其child触发一次指定事件
addChildAt
-
child
-
index
添加一个child到Sprite中并指定添加到哪个层级
Parameters:
-
child
annie.DisplayObject -
index
Number从0开始
addEventListener
-
type
-
listener
给对象添加一个侦听
Parameters:
Example:
this.addEventListener(annie.Event.ADD_TO_STAGE,function(e){trace(this);}.bind(this));
addUpdateObj
-
target
添加一个刷新对象,这个对象里一定要有一个 flush 函数。 因为一但添加,这个对象的 flush 函数会以stage的fps间隔调用 如,你的stage是30fps 那么你这个对象的 flush 函数1秒会调用30次。
Parameters:
-
target
Object要循化调用 flush 函数的对象
allUpdateObjList
()
static
要循环调用 flush 函数对象列表
dispatchEvent
-
event
-
data
广播侦听
Parameters:
-
event
annie.Event | String广播所带的事件对象,如果传的是字符串则直接自动生成一个的事件对象,事件类型就是你传入进来的字符串的值
-
data
Object广播后跟着事件一起传过去的其他任信息,默认值为null
Returns:
如果有收听者则返回true
Example:
var mySprite=new annie.Sprite(),
yourEvent=new annie.Event("yourCustomerEvent");
yourEvent.data='Flash2x';
mySprite.addEventListener("yourCustomerEvent",function(e){
trace(e.data);
})
mySprite.dispatchEvent(yourEvent);
DisplayObject
()
public
flushAll
()
private
static
刷新所有定时器
getBounds
()
Any
public
重写getBounds
Returns:
getChildAt
-
index
获取Sprite中指定层级一个child
Parameters:
-
index
Number从0开始
Returns:
getChildByName
-
name
-
isOnlyOne
-
isRecursive
通过给displayObject设置的名字来获取一个child,可以使用正则匹配查找
Parameters:
Returns:
返回一个对象,或者一个对象数组,没有找到则返回空
getChildIndex
-
child
获取Sprite中一个child所在的层级索引,找到则返回索引数,未找到则返回-1
Parameters:
-
child
annie.DisplayObject子对象
Returns:
getFrameRate
()
public
引擎的刷新率,就是一秒中执行多少次刷新
getRootDivWH
-
div
获取引擎所在的div宽高
Parameters:
-
div
HTMLDivElement
Returns:
}
getWH
()
Width: number, height: number
public
如果需要同时获取宽和高的值,建议使用此方法更有效率
Returns:
}
hasEventListener
-
type
是否有添加过此类形的侦听
Parameters:
-
type
String侦听类形
Returns:
如果有则返回true
hitTestPoint
-
globalPoint
-
isMouseEvent
重写碰撞测试
Parameters:
-
globalPoint
annie.Point -
isMouseEvent
Boolean
Returns:
kill
()
public
当一个stage不再需要使用,或者要从浏览器移除之前,请先停止它,避免内存泄漏
removeAllChildren
()
public
移除Sprite上的所有child
removeAllEventListener
()
public
移除对象中所有的侦听
removeEventListener
-
type
-
listener
移除对应类型的侦听
resize
()
public
当舞台尺寸发生改变时,如果stage autoResize 为 true,则此方法会自己调用; 如果设置stage autoResize 为 false 你需要手动调用此方法以更新界面. 不管autoResize 的状态是什么,你只要侦听 了stage 的 annie.Event.RESIZE 事件 都可以接收到舞台变化的通知。
setFrameRate
-
fps
引擎的刷新率,就是一秒中执行多少次刷新
Parameters:
-
fps
Number最好是60的倍数如 1 2 3 6 10 12 15 20 30 60
Stage
-
rootDivId
-
desW
-
desH
-
fps
-
scaleMode
-
bgColor
-
renderType
显示对象入口函数
startDrag
-
isCenter
-
bounds
启动鼠标或者触摸拖动
Parameters:
-
isCenter
Boolean指定将可拖动的对象锁定到指针位置中心 (true),还是锁定到用户第一次单击该对象的位置 (false) 默认false
-
bounds
annie.Rectangle相对于显圣对象父级的坐标的值,用于指定 Sprite 约束矩形
stopDrag
()
public
停止鼠标或者触摸拖动
update
-
isDrawUpdate
重写刷新
Parameters:
-
isDrawUpdate
Object不是因为渲染目的而调用的更新,比如有些时候的强制刷新 默认为true
Properties
_MECO
Unknown
private
全局的鼠标事件的监听数对象表
_texture
Any
protected
缓存起来的纹理对象。最后真正送到渲染器去渲染的对象
Default: null
height
Unknown
public
获取或者设置显示对象在父级里的y方向的高,不到必要不要用此属性获取高 如果你要同时获取款高,建议使用getWH()方法获取宽和高
instanceId
Unknown
public
每一个annie引擎对象都会有一个唯一的id码。
Example:
//获取 annie引擎类对象唯一码
trace(this.instanceId);
instanceType
Unknown
public
每一个annie类都有一个实例类型字符串,通过这个字符串,你能知道这个实例是从哪个类实例而来
iosTouchendPreventDefault
Boolean
public
是否阻止ios端双击后页面会往上弹的效果,因为如果阻止了,可能有些html元素出现全选框后无法取消 所以需要自己灵活设置,默认阻止.
Default: true
name
String
public
每一个显示对象都可以给他启一个名字,这样我们在查找子级的时候就可以直接用this.getChildrndByName("name")获取到这个对象的引用
Default: ""
pause
Boolean
public
如果值为true则暂停更新当前显示对象及所有子对象。在视觉上就相当于界面停止了,但一样能会接收鼠标事件
有时候背景为大量动画的一个对象时,当需要弹出一个框或者其他内容,或者模糊一个背景时可以设置此属性让
对象视觉暂停更新
Default: false
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];
state.resize();
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()方法获取宽和高