123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- /**
- * Created by 627526248 on 2014/11/29.
- */
- /**
- * 增加元素,{src:"b1_icons",x:0,y:0,w:315,h:34,X:54,Y:160,obj:null}或者数组
- */
- /**
- *
- * @param data
- * @param layer
- * @param dataSource 数据原,默认是dataList,element内部可以单独指定,优先级最高
- * {type
- * src
- * anim
- * center
- * click_up
- * init
- * params:只有当type为object时有效,创实例化object并把params传进去
- * }
- * @returns {*}
- */
- function addElements(data, layer, dataSource,config) {
- if (!(data instanceof Array)) {
- data = [data];
- }
- for (var i = 0; i < data.length; i++) {
- var element = data[i];
- var _dataSource = element.dataSource || dataSource;
- if (element.type == "button") {
- var src=element.src instanceof Function?element.src():element.src;
- element.obj = new LButton(getBitmap(src, element.x, element.y, element.w, element.h, _dataSource));
- } else if (element.type == "input") {
- var theTextField = new LTextField();
- theTextField.border = isNaN(element.border) ? element.border : 1;
- theTextField.setType(LTextFieldType.INPUT);
- theTextField.color = element.color ? element.color : "#FFFFFF";
- theTextField.size = element.size ? element.size : 15;
- element.obj = theTextField;
- } else if (typeof element.type == "function") {
- element.obj = new element.type(element.params);
- //return;
- } else {
- if (element.src) {
- var src=element.src instanceof Function?element.src():element.src;
- element.obj = new LSprite();
- var bitmap;
- if(element.load){//增加对异步加载的支持
- __loadImage(src,element.x, element.y, element.w, element.h,element.obj,element.onload);
- }else{
- bitmap=getBitmap(src, element.x, element.y, element.w, element.h, _dataSource);
- element.obj.addChild(bitmap);
- }
- } else if (element.obj) {
- } else {
- console.error("addElements 缺少显示对象");
- return;
- }
- }
- element.obj.x = element.X ? element.X : 0;
- element.obj.y = element.Y ? element.Y : 0;
- element.obj.alpha=element.alpha||1;
- element.obj.scaleX=element.scaleX||1;
- element.obj.scaleY=element.scaleY||1;
- element.obj.visible= typeof(element.visible) == "boolean"?element.visible:true;
- element.obj.rotate=element.rotate||0;
- if (element.center) {
- setMiddleX(element.obj);
- }
- if (element.anim) {
- var anims = element.anim;
- if (!(anims instanceof Array)) {
- anims = [anims];
- }
- var tweenLite = null;
- for (var j = 0; j < anims.length; j++) {
- var anim=anims[j];
- anim.ease = anim.ease ? anim.ease : LEasing.Sine.easeIn;
- if (!tweenLite) {
- tweenLite = LTweenLite.to(element.obj, typeof(anim.duration)=='number' ? anim.duration :.6, anim);
- }else{
- tweenLite.to(element.obj,typeof(anim.duration)=='number' ? anim.duration : 1, anim);
- }
- }
- }
- if (element.click) {
- element.obj.addEventListener(LMouseEvent.MOUSE_DOWN, element.click);
- } else if (element.click_up) {
- element.obj.addEventListener(LMouseEvent.MOUSE_UP, element.click_up);
- }
- if (layer) {
- layer.addChild(element.obj);
- }
- if (element.init) {
- element.init(element.obj);
- }
- if (element.tag) {
- element.obj.tag=element.tag;
- }
- }
- return data;
- }
- function __loadImage(src,x,y,w,h,parent,onload){
- var loader = new LLoader();
- loader.addEventListener(LEvent.COMPLETE, function (event) {
- var bitmapData = new LBitmapData(event.target);
- var bitmap = new LBitmap(bitmapData, x, y, w, h);
- bitmap.alpha=.1;
- //setTimeout(function(){
- parent.addChild(bitmap);
- LTweenLite.to(bitmap, .2, {alpha: 1});
- if(onload){
- onload(bitmap,parent);
- }
- //},1000);
- });
- loader.load(src, "bitmapData");
- }
- function zLoadImage(src,onload,params){
- var loader = new LLoader();
- loader.addEventListener(LEvent.COMPLETE, function (event) {
- var bitmapData = new LBitmapData(event.target);
- if(onload){
- onload(bitmapData,params);
- }
- });
- loader.load(src, "bitmapData");
- }
- function setMiddleX(obj) {
- obj.x = LGlobal.width / 2 - obj.getWidth() / 2;
- }
- function setScale(obj, value) {
- obj.scaleX = value;
- obj.scaleY = value;
- }
- function getBitmap(imageName, x, y, w, h, dataSource) {
- dataSource = dataSource || dataList;
- var bitmapdata = new LBitmapData(dataSource[imageName], x, y, w, h);
- return new LBitmap(bitmapdata);
- }
- function getBitmapData(imageName, x, y, w, h, dataSource) {
- dataSource = dataSource || dataList;
- var bitmapdata = new LBitmapData(dataSource[imageName], x, y, w, h);
- return bitmapdata;
- }
- function createTextView(content, size) {
- content = content || "";
- size = size || 18;
- var text = new LTextField();
- text.setType(LTextFieldType.TEXT);
- text.size = size;
- text.weight = "bolder";
- text.color = "#E68C00";
- text.lineWidth = 2;
- text.stroke = true;
- text.font = "微软雅黑";
- text.text = content;
- return text;
- }
- function MiddleBitmap(bitmap) {
- var self = this;
- base(self, LSprite, []);
- if (typeof(bitmap) =='string') {
- self.bitmapTitle = getBitmap(bitmap);
- } else if (bitmap instanceof LBitmapData) {
- self.bitmapTitle = new LBitmap(bitmap);
- } else if (bitmap instanceof LBitmap) {
- self.bitmapTitle = bitmap;
- } else if(bitmap instanceof Object){
- self.bitmapTitle = getBitmap(bitmap.name,bitmap.x,bitmap.y,bitmap.w,bitmap.h);
- } else {
- console.info("创建[MiddleBitmap]出错!");
- return;
- }
- self.bitmapTitle.x = -self.bitmapTitle.getWidth() * 0.5;
- self.bitmapTitle.y = -self.bitmapTitle.getHeight() * 0.5;
- self.addChild(self.bitmapTitle);
- }
- MiddleBitmap.prototype.setScale = function (value) {
- var self = this;
- self.scaleX = value;
- self.scaleY = value;
- };
- function rangeRandom(under, over) {
- switch (arguments.length) {
- case 1:
- return parseInt(Math.random() * under + 1);
- case 2:
- return parseInt(Math.random() * (over - under + 1) + under);
- default:
- return 0;
- }
- }
- function fade_in(view) {
- view.alpha = 0.1;
- LTweenLite.to(view, .3, {alpha: 1});
- }
- var extend = function (target, source) {
- for (var p in source) {
- if (source.hasOwnProperty(p)&&!target[p]) {
- target[p] = source[p];
- console.log(p)
- }else{
- }
- }
- return target;
- };
- var utils={};
- utils.extend = function() {
- var options, name, src, copy, copyIsArray, clone,
- target = arguments[0] || {},
- i = 1,
- length = arguments.length,
- deep = false;
- //如果第一个值为bool值,那么就将第二个参数作为目标参数,同时目标参数从2开始计数
- if ( typeof target === "boolean" ) {
- deep = target;
- target = arguments[1] || {};
- // skip the boolean and the target
- i = 2;
- }
- // 当目标参数不是object 或者不是函数的时候,设置成object类型的
- if ( typeof target !== "object" && !utils.isFunction(target) ) {
- target = {};
- }
- //如果extend只有一个函数的时候,那么将跳出后面的操作
- if ( length === i ) {
- target = this;
- --i;
- }
- for ( ; i < length; i++ ) {
- // 仅处理不是 null/undefined values
- if ( (options = arguments[ i ]) != null ) {
- // 扩展options对象
- for ( name in options ) {
- src = target[ name ];
- copy = options[ name ];
- // 如果目标对象和要拷贝的对象是恒相等的话,那就执行下一个循环。
- if ( target === copy ) {
- continue;
- }
- // 如果我们拷贝的对象是一个对象或者数组的话
- if ( deep && copy && ( utils.isPlainObject(copy) || (copyIsArray = utils.isArray(copy)) ) ) {
- if ( copyIsArray ) {
- copyIsArray = false;
- clone = src && utils.isArray(src) ? src : [];
- } else {
- clone = src && utils.isPlainObject(src) ? src : {};
- }
- //不删除目标对象,将目标对象和原对象重新拷贝一份出来。
- target[ name ] = utils.extend( deep, clone, copy );
- // 如果options[name]的不为空,那么将拷贝到目标对象上去。
- } else if ( copy !== undefined ) {
- target[ name ] = copy;
- }
- }
- }
- }
- // 返回修改的目标对象
- return target;
- };
|