AnnieJS API Docs for: 1.1.3
show:

annie.Stage Class

Extends annie.Sprite
Defined in: libs/Stage.js:16
Module: annie

Available since 1.0.0

Stage 表示显示 canvas 内容的整个区域,所有显示对象的顶级显示容器 无法以全局方式访问 Stage 对象,而是需要利用DisplayObject实例的getStage()方法进行访问

Methods

_changeMouseCount

(
  • type
  • isAdd
)
private

Inherited from annie.EventDispatcher: libs/EventDispatcher.js:135

Available since 1.0.0

增加或删除相应mouse或touch侦听记数

Parameters:

_onDispatchBubbledEvent

(
  • type
  • updateMc
)
private

Inherited from annie.DisplayObject but overwritten in libs/Sprite.js:249

Available since 1.0.0

调用此方法对Sprite及其child触发一次指定事件

Parameters:

  • type String
  • updateMc Boolean

    是否更新movieClip时间轴信息

addChild

(
  • child
)
public

Inherited from annie.Sprite: libs/Sprite.js:84

Available since 1.0.0

添加一个显示对象到Sprite

Parameters:

addChildAt

(
  • child
  • index
)

Inherited from annie.Sprite: libs/Sprite.js:172

Available since 1.0.0

添加一个child到Sprite中并指定添加到哪个层级

Parameters:

addEventListener

(
  • type
  • listener
)
public

Inherited from annie.EventDispatcher: libs/EventDispatcher.js:107

Available since 1.0.0

给对象添加一个侦听

Parameters:

  • type String

    侦听类形

  • listener Function

    侦听后的回调方法,如果这个方法是类实例的方法,为了this引用的正确性,请在方法参数后加上.bind(this);

Example:

 this.addEventListener(annie.Event.ADD_TO_STAGE,function(e){trace(this);}.bind(this));

addUpdateObj

(
  • target
)
public static

Defined in libs/Stage.js:886

添加一个刷新对象,这个对象里一定要有一个 flush 函数。 因为一但添加,这个对象的 flush 函数会以stage的fps间隔调用 如,你的stage是30fps 那么你这个对象的 flush 函数1秒会调用30次。

Parameters:

  • target Object

    要循化调用 flush 函数的对象

allUpdateObjList

() static

Defined in libs/Stage.js:933

Available since 1.0.0

要循环调用 flush 函数对象列表

dispatchEvent

(
  • event
  • data
)
Boolean public

Inherited from annie.EventDispatcher: libs/EventDispatcher.js:154

Available since 1.0.0

广播侦听

Parameters:

  • event annie.Event | String

    广播所带的事件对象,如果传的是字符串则直接自动生成一个的事件对象,事件类型就是你传入进来的字符串的值

  • data Object

    广播后跟着事件一起传过去的其他任信息,默认值为null

Returns:

Boolean:

如果有收听者则返回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

Inherited from annie.DisplayObject: libs/DisplayObject.js:27

Available since 1.0.0

flushAll

() private static

Defined in libs/Stage.js:872

Available since 1.0.0

刷新所有定时器

getBounds

() Any public

Inherited from annie.DisplayObject but overwritten in libs/Sprite.js:418

Available since 1.0.0

重写getBounds

Returns:

Any:

getChildAt

(
  • index
)
annie.DisplayObject

Inherited from annie.Sprite: libs/Sprite.js:216

Available since 1.0.0

获取Sprite中指定层级一个child

Parameters:

getChildByName

(
  • name
  • isOnlyOne
  • isRecursive
)
Any public

Inherited from annie.Sprite: libs/Sprite.js:136

Available since 1.0.0

通过给displayObject设置的名字来获取一个child,可以使用正则匹配查找

Parameters:

  • name String

    对象的具体名字或是一个正则表达式

  • isOnlyOne Boolean

    默认为true,如果为true,只返回最先找到的对象,如果为false则会找到所有匹配的对象数组

  • isRecursive Boolean

    false,如果为true,则会递归查找下去,而不只是查找当前对象中的child,child里的child也会找,依此类推

Returns:

Any:

返回一个对象,或者一个对象数组,没有找到则返回空

getChildIndex

(
  • child
)
Number

Inherited from annie.Sprite: libs/Sprite.js:232

Available since 1.0.2

获取Sprite中一个child所在的层级索引,找到则返回索引数,未找到则返回-1

Parameters:

Returns:

getDrawRect

() annie.Rectangle public

Inherited from annie.DisplayObject: libs/DisplayObject.js:533

Available since 1.0.0

获取对象形变后外切矩形。 可以从这个方法中读取到此显示对象变形后x方向上的宽和y方向上的高

Returns:

getFrameRate

() public

Defined in libs/Stage.js:818

Available since 1.0.0

引擎的刷新率,就是一秒中执行多少次刷新

getRootDivWH

(
  • div
)
W: number, h: number public

Defined in libs/Stage.js:827

Available since 1.0.0

获取引擎所在的div宽高

Parameters:

Returns:

W: number, h: number:

}

getWH

() Width: number, height: number public

Inherited from annie.DisplayObject: libs/DisplayObject.js:734

Available since 1.0.9

如果需要同时获取宽和高的值,建议使用此方法更有效率

Returns:

Width: number, height: number:

}

globalToLocal

(
  • point
)
annie.Point public

Inherited from annie.DisplayObject: libs/DisplayObject.js:417

Available since 1.0.0

将全局坐标转换到本地坐标值

Parameters:

Returns:

hasEventListener

(
  • type
)
Boolean public

Inherited from annie.EventDispatcher: libs/EventDispatcher.js:200

Available since 1.0.0

是否有添加过此类形的侦听

Parameters:

Returns:

Boolean:

如果有则返回true

hitTestPoint

(
  • globalPoint
  • isMouseEvent
)
Any public

Inherited from annie.DisplayObject but overwritten in libs/Sprite.js:360

Available since 1.0.0

重写碰撞测试

Parameters:

Returns:

Any:

kill

() public

Defined in libs/Stage.js:860

Available since 1.0.0

当一个stage不再需要使用,或者要从浏览器移除之前,请先停止它,避免内存泄漏

localToGlobal

(
  • point
)
annie.Point public

Inherited from annie.DisplayObject: libs/DisplayObject.js:429

Available since 1.0.0

将本地坐标转换到全局坐标值

Parameters:

Returns:

removeAllChildren

() public

Inherited from annie.Sprite: libs/Sprite.js:294

Available since 1.0.0

移除Sprite上的所有child

removeAllEventListener

() public

Inherited from annie.EventDispatcher: libs/EventDispatcher.js:237

Available since 1.0.0

移除对象中所有的侦听

removeChild

(
  • child
)
public

Inherited from annie.Sprite: libs/Sprite.js:94

Available since 1.0.0

从Sprite中移除一个child

Parameters:

removeChildAt

(
  • index
)
public

Inherited from annie.Sprite: libs/Sprite.js:269

Available since 1.0.0

移除指定层级上的孩子

Parameters:

removeEventListener

(
  • type
  • listener
)
public

Inherited from annie.EventDispatcher: libs/EventDispatcher.js:214

Available since 1.0.0

移除对应类型的侦听

Parameters:

  • type String

    要移除的侦听类型

  • listener Function

    及侦听时绑定的回调方法

removeUpdateObj

(
  • target
)
public static

Defined in libs/Stage.js:909

Available since 1.0.0

移除掉已经添加的循环刷新对象

Parameters:

render

(
  • renderObj
)

Inherited from annie.DisplayObject but overwritten in libs/Stage.js:756

渲染函数

Parameters:

resize

() public

Defined in libs/Stage.js:649

Available since 1.0.0

当舞台尺寸发生改变时,如果stage autoResize 为 true,则此方法会自己调用; 如果设置stage autoResize 为 false 你需要手动调用此方法以更新界面. 不管autoResize 的状态是什么,你只要侦听 了stage 的 annie.Event.RESIZE 事件 都可以接收到舞台变化的通知。

setFrameRate

(
  • fps
)
public

Defined in libs/Stage.js:804

Available since 1.0.0

引擎的刷新率,就是一秒中执行多少次刷新

Parameters:

  • fps Number

    最好是60的倍数如 1 2 3 6 10 12 15 20 30 60

Stage

(
  • rootDivId
  • desW
  • desH
  • fps
  • scaleMode
  • bgColor
  • renderType
)
public

Defined in libs/Stage.js:26

Available since 1.0.0

显示对象入口函数

Parameters:

  • rootDivId String
  • desW Number

    舞台宽

  • desH Number

    舞台高

  • fps Number

    刷新率

  • scaleMode String

    缩放模式 StageScaleMode

  • bgColor String

    背景颜色-1为透明

  • renderType Number

    渲染模式0:canvas 1:webGl 2:dom

startDrag

(
  • isCenter
  • bounds
)
public

Inherited from annie.DisplayObject: libs/DisplayObject.js:448

Available since 1.1.2

启动鼠标或者触摸拖动

Parameters:

  • isCenter Boolean

    指定将可拖动的对象锁定到指针位置中心 (true),还是锁定到用户第一次单击该对象的位置 (false) 默认false

  • bounds annie.Rectangle

    相对于显圣对象父级的坐标的值,用于指定 Sprite 约束矩形

stopDrag

() public

Inherited from annie.DisplayObject: libs/DisplayObject.js:481

Available since 1.1.2

停止鼠标或者触摸拖动

update

(
  • isDrawUpdate
)
public

Inherited from annie.DisplayObject but overwritten in libs/Stage.js:737

Available since 1.0.0

重写刷新

Parameters:

  • isDrawUpdate Object

    不是因为渲染目的而调用的更新,比如有些时候的强制刷新 默认为true

Properties

_currentFlush

Number private

Defined in libs/Stage.js:242

Available since 1.0.0

当前的刷新次数计数器

Default: 0

_enterFrameEvent

annie.Event private

Inherited from annie.DisplayObject: libs/DisplayObject.js:79

Available since 1.0.0

因为每次enterFrame事件时都生成一个Event非常浪费资源,所以做成一个全局的

Default: null

_flush

Number private

Defined in libs/Stage.js:233

Available since 1.0.0

原始为60的刷新速度时的计数器

Default: 0

_MECO

Unknown private

Inherited from annie.EventDispatcher: libs/EventDispatcher.js:254

Available since 1.0.0

全局的鼠标事件的监听数对象表

_offsetX

Number protected

Inherited from annie.DisplayObject: libs/DisplayObject.js:165

Available since 1.0.0

Default: 0

_offsetY

Number protected

Inherited from annie.DisplayObject: libs/DisplayObject.js:173

Available since 1.0.0

Default: 0

_texture

Any protected

Inherited from annie.DisplayObject: libs/DisplayObject.js:156

Available since 1.0.0

缓存起来的纹理对象。最后真正送到渲染器去渲染的对象

Default: null

_UI

Unknown

更新信息

Sub-properties:

  • UM Object

    是否更新矩阵 UA 是否更新Alpha UF 是否更新滤镜

alpha

Number public

Inherited from annie.DisplayObject: libs/DisplayObject.js:278

Available since 1.0.0

显示对象透明度

Default: 1

anchorX

Number public

Inherited from annie.DisplayObject: libs/DisplayObject.js:332

Available since 1.0.0

显示对象上x方向的缩放或旋转点

Default: 0

anchorY

Number

Inherited from annie.DisplayObject: libs/DisplayObject.js:350

Available since 1.0.0

显示对象上y方向的缩放或旋转点

Default: 0

autoResize

Boolean public

Defined in libs/Stage.js:144

Available since 1.0.0

当设备尺寸更新,或者旋转后是否自动更新舞台尺寸

Default: false

autoSteering

Boolean public

Defined in libs/Stage.js:134

Available since 1.0.0

当设备尺寸更新,或者旋转后是否自动更新舞台方向 端默认不开启

Default: false

bgColor

String public

Defined in libs/Stage.js:193

Available since 1.0.0

舞台的背景色 默认就是透明背景 可能设置一个颜色值改变舞台背景

Default: "";

blendMode

String public

Inherited from annie.DisplayObject: libs/DisplayObject.js:126

Available since 1.0.0

显示对象的混合模式 支持的混合模式大概有

Default: 0

cacheAsBitmap

Boolean public

Inherited from annie.Sprite: libs/Sprite.js:54

Available since 1.1.2

是否缓存为位图,注意一但缓存为位图,它的所有子级对象上的事件侦听都将无效

Default: false

cAlpha

Number private

Inherited from annie.DisplayObject: libs/DisplayObject.js:60

Available since 1.0.0

显示对象在显示列表上的最终表现出来的透明度,此透明度会继承父级的透明度依次相乘得到最终的值

Default: 1

cFilters

Array private

Inherited from annie.DisplayObject: libs/DisplayObject.js:97

Available since 1.0.0

显示对象上对显示列表上的最终的所有滤镜组

Default: []

children

Array public

Inherited from annie.Sprite: libs/Sprite.js:40

Available since 1.0.0

显示对象的child列表

Default: []

cMatrix

annie.Matrix private

Inherited from annie.DisplayObject: libs/DisplayObject.js:70

Available since 1.0.0

显示对象上对显示列表上的最终合成的矩阵,此矩阵会继承父级的显示属性依次相乘得到最终的值

Default: null

desHeight

Number public

Defined in libs/Stage.js:163

Available since 1.0.0

舞台的尺寸高,也就是我们常说的设计尺寸

Default: 240

desWidth

Number public

Defined in libs/Stage.js:153

Available since 1.0.0

舞台的尺寸宽,也就是我们常说的设计尺寸

Default: 320

divHeight

Number public

Defined in libs/Stage.js:173

Available since 1.0.0

舞台在当前设备中的真实高

Default: 320

divWidth

Number public

Defined in libs/Stage.js:183

Available since 1.0.0

舞台在当前设备中的真实宽

Default: 240

filters

Array public

Inherited from annie.DisplayObject: libs/DisplayObject.js:400

Available since 1.0.0

显示对象的滤镜数组

Default: null

height

Unknown public

Inherited from annie.DisplayObject: libs/DisplayObject.js:712

Available since 1.0.3

获取或者设置显示对象在父级里的y方向的高,不到必要不要用此属性获取高 如果你要同时获取款高,建议使用getWH()方法获取宽和高

instanceId

Unknown public

Inherited from annie.AObject: libs/EventDispatcher.js:28

Available since 1.0.0

每一个annie引擎对象都会有一个唯一的id码。

Example:

 //获取 annie引擎类对象唯一码
 trace(this.instanceId);

instanceType

Unknown public

Inherited from annie.AObject: libs/EventDispatcher.js:46

Available since 1.0.3

每一个annie类都有一个实例类型字符串,通过这个字符串,你能知道这个实例是从哪个类实例而来

iosTouchendPreventDefault

Boolean public

Defined in libs/Stage.js:47

Available since 1.0.4

是否阻止ios端双击后页面会往上弹的效果,因为如果阻止了,可能有些html元素出现全选框后无法取消 所以需要自己灵活设置,默认阻止.

Default: true

isMultiMouse

Boolean

Defined in libs/Stage.js:127

Available since 1.1.3

开启或关闭多个手指的鼠标事件 目前仅支持两点 旋转 缩放

isMultiTouch

Boolean

Defined in libs/Stage.js:120

Available since 1.0.3

开启或关闭多点手势事件 目前仅支持两点 旋转 缩放

isPreventDefaultEvent

Boolean

Defined in libs/Stage.js:57

Available since 1.0.9

是否禁止引擎所在的canvas的鼠标事件或触摸事件的默认形为,默认为true是禁止的。

Default: true

mask

annie.DisplayObject public

Inherited from annie.DisplayObject: libs/DisplayObject.js:137

Available since 1.0.0

显示对象的遮罩, 是一个Shape显示对象或是一个只包含shape显示对象的MovieClip

Default: null

matrix

annie.Matrix public

Inherited from annie.DisplayObject: libs/DisplayObject.js:384

Available since 1.0.0

显示对象的变形矩阵

Default: null

mouseChildren

Boolean public

Inherited from annie.Sprite: libs/Sprite.js:30

Available since 1.0.0

是否可以让children接收鼠标事件,如果为false 鼠标事件将不会往下冒泡

Default: true

mouseEnable

Boolean public

Inherited from annie.DisplayObject: libs/DisplayObject.js:88

Available since 1.0.0

是否可以接受点击事件,如果设置为false,此显示对象将无法接收到点击事件

Default: false

name

String public

Inherited from annie.DisplayObject: libs/DisplayObject.js:106

Available since 1.0.0

每一个显示对象都可以给他启一个名字,这样我们在查找子级的时候就可以直接用this.getChildrndByName("name")获取到这个对象的引用

Default: ""

parent

annie.Sprite public

Inherited from annie.DisplayObject: libs/DisplayObject.js:50

Available since 1.0.0

显示对象的父级

Default: null

pause

Boolean public

Defined in libs/Stage.js:96

Available since 1.0.0

如果值为true则暂停更新当前显示对象及所有子对象。在视觉上就相当于界面停止了,但一样能会接收鼠标事件
有时候背景为大量动画的一个对象时,当需要弹出一个框或者其他内容,或者模糊一个背景时可以设置此属性让
对象视觉暂停更新

Default: false

renderObj

IRender public

Defined in libs/Stage.js:75

Available since 1.0.0

当前stage所使用的渲染器 渲染器有两种,一种是canvas 一种是webGl

Default: null

renderType

Number public

Defined in libs/Stage.js:85

Available since 1.0.0

渲染模式值 只读 CANVAS:0, webGl: 1

Default: 0

rootDiv

Html Div public

Defined in libs/Stage.js:65

Available since 1.0.0

整个引擎的最上层的div元素, 承载canvas的那个div html元素

Default: null

rotation

Number public

Inherited from annie.DisplayObject: libs/DisplayObject.js:260

Available since 1.0.0

显示对象旋转角度

Default: 0

scaleMode

String public

Defined in libs/Stage.js:204

Available since 1.0.0

舞台的缩放模式 默认为空就是无缩放的真实大小 "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;}
     }
 }

scaleX

Number public

Inherited from annie.DisplayObject: libs/DisplayObject.js:224

Available since 1.0.0

显示对象x方向的缩放值

Default: 1

scaleY

Number public

Inherited from annie.DisplayObject: libs/DisplayObject.js:242

Available since 1.0.0

显示对象y方向的缩放值

Default: 1

skewX

Number public

Inherited from annie.DisplayObject: libs/DisplayObject.js:296

Available since 1.0.0

显示对象x方向的斜切值

Default: 0

skewY

Number public

Inherited from annie.DisplayObject: libs/DisplayObject.js:314

Available since 1.0.0

显示对象y方向的斜切值

Default: 0

stage

Stage public

Inherited from annie.DisplayObject: libs/DisplayObject.js:40

Available since 1.0.0

此显示对象所在的舞台对象,如果此对象没有被添加到显示对象列表中,此对象为空。

Default: null;

viewRect

annie.Rectangle public

Defined in libs/Stage.js:107

Available since 1.0.0

舞台在设备里截取后的可见区域,有些时候知道可见区域是非常重要的,因为这样你就可以根据舞台的可见区域做自适应了。

Default: {x:0,y:0,width:0,height:0}

Example:

 //始终让一个对象顶对齐,或者

visible

Boolean public

Inherited from annie.DisplayObject: libs/DisplayObject.js:368

Available since 1.0.0

显未对象是否可见

Default: 0

width

Unknown public

Inherited from annie.DisplayObject: libs/DisplayObject.js:689

Available since 1.0.3

获取或者设置显示对象在父级里的x方向的宽,不到必要不要用此属性获取高 如果你要同时获取款高,建议使用getWH()方法获取宽和高

x

Number public

Inherited from annie.DisplayObject: libs/DisplayObject.js:187

Available since 1.0.0

显示对象位置x

Default: 0

y

Number public

Inherited from annie.DisplayObject: libs/DisplayObject.js:205

Available since 1.0.0

显示对象位置y

Default: 0