743 lines
20 KiB
ActionScript
743 lines
20 KiB
ActionScript
package ckaction.style {
|
|
import flash.display.Sprite;
|
|
import flash.text.TextField;
|
|
import flash.display.Stage;
|
|
import fl.transitions.Tween;
|
|
import fl.transitions.easing.None;
|
|
import fl.motion.easing.Quadratic;
|
|
import fl.motion.easing.Cubic;
|
|
import fl.motion.easing.Quartic;
|
|
import fl.motion.easing.Quintic;
|
|
import fl.motion.easing.Sine;
|
|
import fl.motion.easing.Exponential;
|
|
import fl.motion.easing.Circular;
|
|
import fl.motion.easing.Elastic;
|
|
import fl.motion.easing.Back;
|
|
import fl.motion.easing.Bounce;
|
|
import fl.transitions.TweenEvent;
|
|
import flash.events.MouseEvent;
|
|
import flash.display.MovieClip;
|
|
import flash.events.Event;
|
|
import ckaction.act.script;
|
|
import ckaction.style.loadSpriteImg;
|
|
import ckaction.C.C;
|
|
import com.dynamicflash.util.Base64;
|
|
//import ckaction.act.log;
|
|
|
|
|
|
public class newElement {
|
|
private var pauseded: Boolean = false;
|
|
private var STAGE: Stage = null;
|
|
private var THIS: Sprite = null;
|
|
private var FLASHVARS: Object = null;
|
|
private var list: Array = [];
|
|
//private var C:MovieClip=null
|
|
private var alt: int = 0;
|
|
private var eleArr: Array = [],
|
|
eleNameArr: Array = []; //保存所有在改变舞台尺寸时需要调整位置的元件的数组
|
|
private var eleTempArr: Array = [],
|
|
eleNameTempArr: Array = []; //保存所有在改变舞台尺寸时需要调整位置的元件的数组
|
|
private var animateArray: Array = [],
|
|
animateElementArray: Array = [],
|
|
animatePauseArray: Array = []; //缓动tween数组,缓动的元件ID数组,暂停时需要停止的元件ID数组
|
|
public function newElement(stage: Stage, sprite: Sprite, an: int = 0) {
|
|
STAGE = stage;
|
|
THIS = sprite;
|
|
var config: Object = C.CONFIG;
|
|
FLASHVARS = config["flashvars"];
|
|
alt = an;
|
|
//C=cm;
|
|
stage.addEventListener(Event.RESIZE, resizeHandler);
|
|
}
|
|
//当修改了C.CONFIG后
|
|
public function changeConfig() {
|
|
var config: Object = C.CONFIG;
|
|
FLASHVARS = config["flashvars"];
|
|
}
|
|
public function addelement(newObj): Sprite {
|
|
var obj = {
|
|
list: [],
|
|
x: "100%",
|
|
y: "50%",
|
|
position: [],
|
|
alpha: 1,
|
|
backgroundColor: null,
|
|
backAlpha: 1,
|
|
backRadius: 0,
|
|
border: 0,
|
|
borderColor: 0x000000,
|
|
clickEvent: ""
|
|
}
|
|
obj = script.mergeObject(obj, newObj);
|
|
//new log(obj);
|
|
list = obj["list"];
|
|
if (list.length == 0) {
|
|
return null;
|
|
}
|
|
var bObj: Object = {};
|
|
var elementArr: Array = [];
|
|
var i: int = 0;
|
|
var ele: Object = {};
|
|
var cx: int = 0,
|
|
maxH: int = 0;
|
|
for (i = 0; i < list.length; i++) {
|
|
ele = list[i];
|
|
var mH: int = 0;
|
|
var eleSprite: Sprite = null;
|
|
switch (ele["type"]) {
|
|
case "image":
|
|
case "png":
|
|
case "jpg":
|
|
case "jpeg":
|
|
case "bmp":
|
|
case "swf":
|
|
bObj = {
|
|
type: "image",
|
|
file: "",
|
|
radius: 0, //圆角弧度
|
|
width: 30, //定义宽,必需要定义
|
|
height: 30, //定义高,必需要定义
|
|
alpha: 1, //透明度
|
|
marginLeft: 0,
|
|
marginRight: 0,
|
|
marginTop: 0,
|
|
marginBottom: 0,
|
|
clickEvent: ""
|
|
};
|
|
list[i] = ele = script.mergeObject(bObj, ele);
|
|
eleSprite = loadSpriteImg.loadImg(bObj["file"], bObj["width"], bObj["height"], bObj["radius"], i,bObj["clickEvent"]!=""?Base64.encode(bObj["clickEvent"]):"");
|
|
|
|
cx += ele["marginLeft"];
|
|
eleSprite.x = cx;
|
|
cx += (eleSprite.width || ele["width"]) + ele["marginRight"];
|
|
mH = ele["marginTop"];
|
|
eleSprite.y = mH;
|
|
mH += (eleSprite.height || ele["height"]) + ele["marginBottom"];
|
|
if (maxH < mH) {
|
|
maxH = mH;
|
|
}
|
|
|
|
if (bObj["clickEvent"] != "") {
|
|
eleSprite.name=Base64.encode(bObj["clickEvent"]);
|
|
eleSprite.buttonMode = true;
|
|
eleSprite.addEventListener(MouseEvent.CLICK, mouseClickHandler);
|
|
}
|
|
elementArr.push(eleSprite);
|
|
//eleNameArr.push();
|
|
break;
|
|
case "gif":
|
|
bObj = {
|
|
type: "gif",
|
|
file: "",
|
|
radius: 0, //圆角弧度
|
|
width: 30, //定义宽,必需要定义
|
|
height: 30, //定义高,必需要定义
|
|
alpha: 1, //透明度
|
|
marginLeft: 0,
|
|
marginRight: 0,
|
|
marginTop: 0,
|
|
marginBottom: 0,
|
|
clickEvent: ""
|
|
};
|
|
list[i] = ele = script.mergeObject(bObj, ele);
|
|
var spObj: Object = {
|
|
width: bObj["width"],
|
|
height: bObj["height"]
|
|
};
|
|
eleSprite = loadSpriteGif.loadGif(bObj["file"], bObj["width"], bObj["height"], bObj["radius"], i);
|
|
trace("加载");
|
|
cx += ele["marginLeft"];
|
|
eleSprite.x = cx;
|
|
cx += (eleSprite.width || ele["width"]) + ele["marginRight"];
|
|
mH = ele["marginTop"];
|
|
eleSprite.y = mH;
|
|
mH += (eleSprite.height || ele["height"]) + ele["marginBottom"];
|
|
if (maxH < mH) {
|
|
maxH = mH;
|
|
}
|
|
|
|
if (bObj["clickEvent"] != "") {
|
|
eleSprite.name=Base64.encode(bObj["clickEvent"]);
|
|
eleSprite.buttonMode = true;
|
|
eleSprite.addEventListener(MouseEvent.CLICK, mouseClickHandler);
|
|
}
|
|
elementArr.push(eleSprite);
|
|
//eleNameArr.push();
|
|
break;
|
|
case "text":
|
|
bObj = {
|
|
type: "text", //说明是文本
|
|
text: "", //文本内容
|
|
color: 0xFFFFFF,
|
|
size: 14,
|
|
font: "Microsoft YaHei,\5FAE\8F6F\96C5\9ED1,微软雅黑",
|
|
leading: 0,
|
|
alpha: 1, //透明度
|
|
bold: false,
|
|
paddingLeft: 0, //左边距离
|
|
paddingRight: 0, //右边距离
|
|
paddingTop: 0,
|
|
paddingBottom: 0,
|
|
marginLeft: 0,
|
|
marginRight: 0,
|
|
marginTop: 0,
|
|
marginBottom: 0,
|
|
backgroundColor: null,
|
|
backAlpha: 1,
|
|
backRadius: 0,
|
|
border: 0,
|
|
borderColor: 0x000000
|
|
};
|
|
list[i] = ele = script.mergeObject(bObj, ele);
|
|
var textObj: Object = {
|
|
text: bObj["text"],
|
|
color: bObj["color"],
|
|
size: bObj["size"],
|
|
font: bObj["font"],
|
|
bold: bObj["bold"],
|
|
width: 0,
|
|
height: 0,
|
|
alpha: bObj["alpha"]
|
|
};
|
|
var text: TextField = element.newText(textObj);
|
|
var textBgWidth: int = text.width + bObj["paddingLeft"] + bObj["paddingRight"];
|
|
var textBgHeight: int = bObj["leading"] > 0 ? bObj["leading"] : 0;
|
|
text.y = textBgHeight > 0 ? (textBgHeight - text.height) * 0.5 + bObj["paddingTop"] : bObj["paddingTop"];
|
|
textBgHeight += (bObj["paddingTop"] + bObj["paddingBottom"]);
|
|
text.x = bObj["paddingLeft"];
|
|
var textBgObj: Object = {
|
|
backgroundColor: bObj["backgroundColor"], //背景颜色
|
|
radius: bObj["backRadius"], //圆角弧度
|
|
backgroundAlpha: bObj["backAlpha"], //背景透明度
|
|
border: bObj["border"],
|
|
borderColor: bObj["borderColor"],
|
|
width: textBgWidth,
|
|
height: textBgHeight
|
|
};
|
|
eleSprite = element.newSprite(textBgObj);
|
|
eleSprite.addChild(text);
|
|
//eleSprite.name = "ele_" + i;
|
|
cx += ele["marginLeft"];
|
|
eleSprite.x = cx;
|
|
cx += eleSprite.width + ele["marginRight"];
|
|
mH = ele["marginTop"];
|
|
eleSprite.y = mH;
|
|
mH += eleSprite.height + ele["marginBottom"];
|
|
if (maxH < mH) {
|
|
maxH = mH;
|
|
}
|
|
elementArr.push(eleSprite);
|
|
|
|
if (bObj["clickEvent"] != "" && (obj["clickEvent"] == "" || obj["clickEvent"] == null) && bObj["clickEvent"] != null) {
|
|
eleSprite.name=Base64.encode(bObj["clickEvent"]);
|
|
eleSprite.buttonMode = true;
|
|
eleSprite.addEventListener(MouseEvent.CLICK, mouseClickHandler);
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
var spBgObj: Object = {
|
|
backgroundColor: obj["backgroundColor"] != null ? obj["backgroundColor"] : null, //背景颜色
|
|
radius: obj["backRadius"], //圆角弧度
|
|
backgroundAlpha: obj["backAlpha"], //背景透明度
|
|
border: obj["border"],
|
|
borderColor: obj["borderColor"],
|
|
width: cx,
|
|
height: maxH
|
|
};
|
|
var sprite: Sprite = element.newSprite(spBgObj);
|
|
for (i = 0; i < elementArr.length; i++) {
|
|
sprite.addChild(elementArr[i]);
|
|
}
|
|
sprite.name = obj["x"] + "$" + obj["y"] + "$" + obj["position"].join(",") + "$" + script.randomString();
|
|
var eleCoor: Object = calculationCoor(sprite);
|
|
sprite.x = eleCoor["x"];
|
|
sprite.y = eleCoor["y"];
|
|
sprite.alpha = obj["alpha"];
|
|
THIS.addChildAt(sprite, alt + 1);
|
|
eleArr.push(sprite);
|
|
eleNameArr.push(sprite.name);
|
|
if (obj["clickEvent"] != "") {
|
|
sprite.buttonMode = true;
|
|
sprite.addEventListener(MouseEvent.CLICK, function (event: MouseEvent): void {
|
|
THIS["clickEvent"](obj["clickEvent"]);
|
|
});
|
|
}
|
|
return sprite;
|
|
}
|
|
private function mouseClickHandler(event: MouseEvent): void {
|
|
//new log(event.target.name);
|
|
var ce: String = Base64.decode(event.target.name);
|
|
//new log(ce);
|
|
THIS["clickEvent"](ce);
|
|
|
|
}
|
|
|
|
private function calculationCoor(ele: Sprite): Object {
|
|
var arr = ele.name.split("$");
|
|
var obj = {
|
|
x: arr[0],
|
|
y: arr[1],
|
|
position: arr[2] != "" ? arr[2].split(",") : []
|
|
}
|
|
var x: int = Number(obj["x"].toString().split("%").join("")),
|
|
y: int = Number(obj["y"].toString().split("%").join("")),
|
|
position: Array = obj["position"];
|
|
var w: int = STAGE.stageWidth,
|
|
h: int = STAGE.stageHeight;
|
|
var ew: int = ele.width,
|
|
eh: int = ele.height;
|
|
if (position.length > 0) {
|
|
position.push(null, null, null, null);
|
|
var i = 0;
|
|
for (i = 0; i < position.length; i++) {
|
|
if (position[i] == "null" || position[i] == "") {
|
|
position[i] = null;
|
|
}
|
|
if (position[i] != null) {
|
|
position[i] = Number(position[i]);
|
|
}
|
|
|
|
|
|
}
|
|
if (position[2] == null) {
|
|
switch (position[0]) {
|
|
case 0:
|
|
x = 0;
|
|
break;
|
|
case 1:
|
|
x = (w - ew) * 0.5;
|
|
break;
|
|
default:
|
|
x = w - ew;
|
|
break;
|
|
}
|
|
} else {
|
|
switch (position[0]) {
|
|
case 0:
|
|
x = position[2];
|
|
break;
|
|
case 1:
|
|
x = w * 0.5 + position[2];
|
|
break;
|
|
default:
|
|
x = w + position[2];
|
|
break;
|
|
}
|
|
}
|
|
if (position[3] == null) {
|
|
switch (position[1]) {
|
|
case 0:
|
|
y = 0;
|
|
break;
|
|
case 1:
|
|
y = (h - eh) * 0.5;
|
|
break;
|
|
default:
|
|
y = h - eh;
|
|
break;
|
|
}
|
|
} else {
|
|
switch (position[1]) {
|
|
case 0:
|
|
y = position[3];
|
|
break;
|
|
case 1:
|
|
y = h * 0.5 + position[3];
|
|
break;
|
|
default:
|
|
y = h + position[3];
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
if (obj["x"].toString().search("%") > -1) {
|
|
x = Math.floor(Number(obj["x"].toString().split("%").join("")) * w * 0.01);
|
|
}
|
|
if (obj["y"].toString().search("%") > -1) {
|
|
y = Math.floor(Number(obj["y"].toString().split("%").join("")) * h * 0.01);
|
|
}
|
|
}
|
|
|
|
return {
|
|
x: x,
|
|
y: y
|
|
}
|
|
}
|
|
public function getElement(name: String): Object {
|
|
var num: int = eleNameArr.indexOf(name);
|
|
var sprite: Sprite =null
|
|
if (num > -1) {
|
|
sprite = eleArr[num];
|
|
return {
|
|
x: sprite.x,
|
|
y: sprite.y,
|
|
width: sprite.width,
|
|
height: sprite.height,
|
|
alpha: sprite.alpha
|
|
}
|
|
}
|
|
num = eleNameTempArr.indexOf(name);
|
|
if (num > -1) {
|
|
sprite = eleTempArr[num];
|
|
return {
|
|
x: sprite.x,
|
|
y: sprite.y,
|
|
width: sprite.width,
|
|
height: sprite.height,
|
|
alpha: sprite.alpha,
|
|
show:sprite.visible
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
public function elementShow(name: String="",bn:Boolean=true):void{
|
|
if(name==""){
|
|
var i:int=0;
|
|
for(i=0;i<eleNameTempArr.length;i++){
|
|
eleTempArr[i].visible=bn;
|
|
}
|
|
return;
|
|
}
|
|
var num: int = eleNameArr.indexOf(name);
|
|
if (num > -1) {
|
|
eleArr[num].visible=bn;
|
|
}
|
|
num = eleNameTempArr.indexOf(name);
|
|
if (num > -1) {
|
|
eleTempArr[num].visible=bn;
|
|
}
|
|
}
|
|
public function animate(ob: Object): String {
|
|
var obj: Object = {
|
|
element: null,
|
|
parameter: "x",
|
|
static: false,
|
|
effect: "None.easeIn",
|
|
start: null,
|
|
end: null,
|
|
speed: 0,
|
|
overStop: false,
|
|
pauseStop: false,
|
|
callBack: null
|
|
};
|
|
obj = script.mergeObject(obj, ob);
|
|
if (obj["element"] == null || obj["speed"] == 0) {
|
|
return "";
|
|
}
|
|
var w: int = STAGE.stageWidth,
|
|
h: int = STAGE.stageHeight;
|
|
var eleCoor = {
|
|
x: 0,
|
|
y: 0
|
|
};
|
|
|
|
var run: Boolean = true;
|
|
var pm = getElement(obj["element"]); //包含x,y,width,height,alpha属性
|
|
//将该元件从元件数组里删除,让其不再跟随播放器的尺寸改变而改变位置
|
|
var num = eleNameArr.indexOf(obj["element"]);
|
|
var sprite: Sprite = null;
|
|
if (num > -1) {
|
|
sprite = eleArr[num];
|
|
eleNameArr.splice(num, 1);
|
|
eleArr.splice(num, 1);
|
|
eleTempArr.push(sprite);
|
|
eleNameTempArr.push(obj["element"]);
|
|
}
|
|
if (sprite == null) {
|
|
return "";
|
|
}
|
|
var b: Number = 0; //初始值
|
|
var c: Number = 0; //变化后的值
|
|
var d = obj["speed"]; //持续时间
|
|
//var setTimeOut = null;
|
|
//var tweenObj = null;
|
|
var start: String = obj["start"] == null ? "" : obj["start"].toString();
|
|
var end: String = obj["end"] == null ? "" : obj["end"].toString();
|
|
switch (obj["parameter"]) {
|
|
case "x":
|
|
if (obj["start"] == null) {
|
|
b = pm["x"];
|
|
} else {
|
|
if (start.substr(start.length - 1, start.length) == "%") {
|
|
b = Number(start.substr(0, start.length - 1)) * w * 0.01;
|
|
} else {
|
|
b = Number(start);
|
|
}
|
|
|
|
}
|
|
if (obj["end"] == null) {
|
|
c = pm["x"];
|
|
} else {
|
|
if (end.substr(end.length - 1, end.length) == "%") {
|
|
c = Number(end.substr(0, end.length - 1)) * w * 0.01;
|
|
} else if (end.substr(0, 1) == "-" || end.substring(0, 1) == "+") {
|
|
if (typeof (obj["end"]) == "number") {
|
|
c = obj["end"];
|
|
} else {
|
|
c = b + Number(end);
|
|
}
|
|
} else {
|
|
c = Number(end);
|
|
}
|
|
}
|
|
b = Math.floor(b);
|
|
c = Math.floor(c);
|
|
break;
|
|
case "y":
|
|
if (obj["start"] == null) {
|
|
b = pm["y"];
|
|
} else {
|
|
if (start.substr(start.length - 1, start.length) == "%") {
|
|
b = Number(start.substr(0, start.length - 1)) * h * 0.01;
|
|
} else {
|
|
b = Number(start);
|
|
}
|
|
|
|
}
|
|
if (obj["end"] == null) {
|
|
c = pm["y"];
|
|
} else {
|
|
if (end.substr(end.length - 1, end.length) == "%") {
|
|
c = Number(end.substr(0, end.length - 1)) * h * 0.01;
|
|
} else if (end.substr(0, 1) == "-" || end.substring(0, 1) == "+") {
|
|
if (typeof (obj["end"]) == "number") {
|
|
c = obj["end"];
|
|
} else {
|
|
c = b + Number(end);
|
|
}
|
|
} else {
|
|
c = Number(end);
|
|
}
|
|
}
|
|
b = Math.floor(b);
|
|
c = Math.floor(c);
|
|
|
|
break;
|
|
case "alpha":
|
|
if (obj["start"] == null) {
|
|
b = pm["alpha"];
|
|
} else {
|
|
if (start.substr(start.length - 1, start.length) == "%") {
|
|
b = Number(start.substr(0, start.length - 1));
|
|
} else {
|
|
b = Number(obj["start"]);
|
|
}
|
|
|
|
}
|
|
if (obj["end"] == null) {
|
|
c = pm["alpha"];
|
|
} else {
|
|
if (end.substr(end.length - 1, end.length) == "%") {
|
|
c = Number(end.substr(0, end.length - 1));
|
|
} else if (end.substr(0, 1) == "-" || end.substring(0, 1) == "+") {
|
|
if (typeof (obj["end"]) == "number") {
|
|
c = obj["end"];
|
|
} else {
|
|
c = b + Number(end);
|
|
}
|
|
} else {
|
|
c = Number(end);
|
|
}
|
|
}
|
|
break;
|
|
|
|
}
|
|
var effArr: Array = [None, Quadratic, Cubic, Quartic, Quintic, Sine, Exponential, Circular, Elastic, Back, Bounce];
|
|
var effNameArr: Array = ["None", "Quadratic", "Cubic", "Quartic", "Quintic", "Sine", "Exponential", "Circular", "Elastic", "Back", "Bounce"];
|
|
var arr: Array = obj["effect"].split(".");
|
|
num = effNameArr.indexOf(arr[0]);
|
|
var effectFun = effArr[num][arr[1]];
|
|
var tween: Tween = new Tween(sprite, obj["parameter"], effectFun, b, c, d, true);
|
|
|
|
if (obj["static"]) {
|
|
function changeHandler(event: TweenEvent) {
|
|
var coor = calculationCoor(sprite);
|
|
switch (obj["parameter"]) {
|
|
case "x":
|
|
sprite.y = coor["y"];
|
|
break;
|
|
case "y":
|
|
sprite.x = coor["x"];
|
|
break;
|
|
case "alpha":
|
|
sprite.x = coor["x"];
|
|
sprite.y = coor["y"];
|
|
break;
|
|
}
|
|
};
|
|
tween.addEventListener(TweenEvent.MOTION_CHANGE, changeHandler);
|
|
}
|
|
function backCall(): void {
|
|
//trace("=====================================backcall");
|
|
var numT:int = eleNameTempArr.indexOf(sprite.name);
|
|
if (numT > -1) {
|
|
eleNameTempArr.splice(numT, 1);
|
|
eleTempArr.splice(numT, 1);
|
|
}
|
|
eleNameArr.push(sprite.name);
|
|
eleArr.push(sprite);
|
|
|
|
tween.removeEventListener(TweenEvent.MOTION_FINISH, finishHandler);
|
|
tween = null;
|
|
if (obj["callBack"] != null && typeof (obj["callBack"]) == "string") {
|
|
script.callJs(obj["callBack"], sprite.name);
|
|
}
|
|
}
|
|
function finishHandler(event: TweenEvent): void {
|
|
switch (obj["parameter"]) {
|
|
case "x":
|
|
if (sprite.x != c) {
|
|
tween.resume();
|
|
} else {
|
|
backCall();
|
|
}
|
|
break;
|
|
case "y":
|
|
if (sprite.y != c) {
|
|
tween.resume();
|
|
} else {
|
|
backCall();
|
|
}
|
|
break;
|
|
case "alpha":
|
|
if (sprite.alpha != c) {
|
|
tween.resume();
|
|
} else {
|
|
backCall();
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
tween.addEventListener(TweenEvent.MOTION_FINISH, finishHandler);
|
|
|
|
if (obj["overStop"]) {
|
|
function overHandler(event: MouseEvent) {
|
|
tween.stop();
|
|
sprite.removeEventListener(MouseEvent.MOUSE_OVER, overHandler);
|
|
sprite.addEventListener(MouseEvent.MOUSE_OUT, outHandler);
|
|
};
|
|
function outHandler(event: MouseEvent) {
|
|
var start = true;
|
|
if (obj["pauseStop"] && pauseded) {
|
|
start = false;
|
|
}
|
|
if (start) {
|
|
tween.resume();
|
|
}
|
|
sprite.removeEventListener(MouseEvent.MOUSE_OUT, outHandler);
|
|
sprite.addEventListener(MouseEvent.MOUSE_OVER, overHandler);
|
|
};
|
|
sprite.addEventListener(MouseEvent.MOUSE_OVER, overHandler);
|
|
}
|
|
tween.start();
|
|
var animateId = "animate" + script.randomString();
|
|
animateArray.push(tween);
|
|
animateElementArray.push(animateId);
|
|
if (obj["pauseStop"]) {
|
|
animatePauseArray.push(animateId);
|
|
}
|
|
return animateId;
|
|
}
|
|
/*
|
|
接口函数
|
|
继续运行animate
|
|
*/
|
|
public function animateResume(id: String = "") {
|
|
var arr: Array = [];
|
|
if (id != "" && id != "undefined" && id != "pause") {
|
|
arr.push(id);
|
|
} else {
|
|
if (id === "pause") {
|
|
arr = animatePauseArray;
|
|
} else {
|
|
arr = animateElementArray;
|
|
}
|
|
}
|
|
for (var i: int = 0; i < arr.length; i++) {
|
|
var index: int = animateElementArray.indexOf(arr[i]);
|
|
|
|
if (index > -1) {
|
|
animateArray[index].resume();
|
|
}
|
|
}
|
|
|
|
}
|
|
/*
|
|
接口函数
|
|
暂停运行animate
|
|
*/
|
|
public function animatePause(id: String = "") {
|
|
|
|
var arr: Array = [];
|
|
if (id != "" && id != "undefined" && id != "pause") {
|
|
arr.push(id);
|
|
} else {
|
|
if (id === "pause") {
|
|
arr = animatePauseArray;
|
|
} else {
|
|
arr = animateElementArray;
|
|
}
|
|
}
|
|
for (var i: int = 0; i < arr.length; i++) {
|
|
var index: int = animateElementArray.indexOf(arr[i]);
|
|
if (index > -1) {
|
|
animateArray[index].stop();
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
内置函数
|
|
根据元件删除数组里对应的内容
|
|
*/
|
|
public function deleteAnimate(id:String) {
|
|
var index = animateElementArray.indexOf(id);
|
|
if (index > -1) {
|
|
//animatePause(id);
|
|
animateArray[index].fforward();
|
|
//animateArray.splice(index, 1);
|
|
//animateElementArray.splice(index, 1);
|
|
}
|
|
}
|
|
/*
|
|
内置函数
|
|
删除外部新建的元件
|
|
*/
|
|
public function deleteElement(name: String): void {
|
|
trace(name);
|
|
trace(eleNameArr);
|
|
var num: int = eleNameArr.indexOf(name);
|
|
if (num > -1) {
|
|
THIS.removeChild(eleArr[num]);
|
|
eleNameArr.splice(num, 1);
|
|
eleArr.splice(num, 1);
|
|
}
|
|
deleteAnimate(name);
|
|
}
|
|
public function changePauseded(b: Boolean): void {
|
|
pauseded = b;
|
|
if (animatePauseArray.length == 0) {
|
|
return;
|
|
}
|
|
if (b) {
|
|
animatePause("pause");
|
|
} else {
|
|
animateResume("pause");
|
|
}
|
|
}
|
|
public function resizeHandler(event: Event): void {
|
|
if (eleArr.length > 0) {
|
|
for (var i: int = 0; i < eleArr.length; i++) {
|
|
var coor: Object = calculationCoor(eleArr[i]);
|
|
eleArr[i].x = coor["x"];
|
|
eleArr[i].y = coor["y"];
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
} |