annie.Sprite Class
显示对象的容器类,可以将其他显示对象放入其中,是annie引擎的核心容器类. Sprite 类是基本显示列表构造块:一个可显示图形并且也可包含子项的显示列表节点。 Sprite 对象与影片剪辑类似,但没有时间轴。Sprite 是不需要时间轴的对象的相应基类。 例如,Sprite 将是通常不使用时间轴的用户界面 (UI) 组件的逻辑基类
Item Index
Methods
- _updateSplitBounds
- addChild
- addChildAt
- addEventListener
- addSound
- clearCustomTransform
- destroy
- dispatchEvent
- DisplayObject
- getChildAt
- getChildByName
- getChildIndex
- getDrawRect
- getSound
- getWH
- globalToLocal
- hasEventListener
- hitTestPoint
- localToGlobal
- removeAllChildren
- removeAllEventListener
- removeChild
- removeChildAt
- removeEventListener
- removeSound
- Sprite
- startDrag
- stopAllSounds
- stopDrag
- swapChild
- updateCache
Properties
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:
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:
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:
Sprite
()
public
构造函数
startDrag
-
isCenter
-
bounds
启动鼠标或者触摸拖动
Parameters:
-
isCenter
Boolean指定将可拖动的对象锁定到指针位置中心 (true),还是锁定到用户第一次单击该对象的位置 (false) 默认false
-
bounds
annie.Rectangle相对于显示对象父级的坐标的值,用于指定 Sprite 约束矩形
Returns:
stopAllSounds
()
Void
public
停止这个显示对象上的所有声音
Returns:
stopDrag
()
停止鼠标跟随
updateCache
()
Void
如果对容器缓存为位图过,则会更新缓存,没事别乱调用
Returns:
Properties
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);
name
String
public
每一个显示对象都可以给他命一个名字,这样我们在查找子级的时候就可以直接用this.getChildrndByName("name")获取到这个对象的引用
Default: ""
stage
Stage
public
此显示对象所在的舞台对象,如果此对象没有被添加到显示对象列表中,此对象为空。
Default: null;
width
Unknown
public
获取或者设置显示对象在父级里的x方向的宽,不到必要不要用此属性获取高 如果你要同时获取宽高,建议使用 getWH()方法获取宽和高
Events
ADD_TO_STAGE
annie.DisplayObject显示对象加入到舞台事件
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显示对象从舞台移出事件