no commit message
This commit is contained in:
@@ -0,0 +1,743 @@
|
||||
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"];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user