common.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. function addElements(data, layer, dataSource,config) {
  2. if (!(data instanceof Array)) {
  3. data = [data];
  4. }
  5. for (var i = 0; i < data.length; i++) {
  6. var element = data[i];
  7. var _dataSource = element.dataSource || dataSource;
  8. if (element.type == "button") {
  9. var src=element.src instanceof Function?element.src():element.src;
  10. element.obj = new LButton(getBitmap(src, element.x, element.y, element.w, element.h, _dataSource));
  11. } else if (element.type == "input") {
  12. var theTextField = new LTextField();
  13. theTextField.border = isNaN(element.border) ? element.border : 1;
  14. theTextField.setType(LTextFieldType.INPUT);
  15. theTextField.color = element.color ? element.color : "#FFFFFF";
  16. theTextField.size = element.size ? element.size : 15;
  17. element.obj = theTextField;
  18. } else if (typeof element.type == "function") {
  19. element.obj = new element.type(element.params);
  20. //return;
  21. } else {
  22. if (element.src) {
  23. var src=element.src instanceof Function?element.src():element.src;
  24. element.obj = new LSprite();
  25. var bitmap;
  26. if(element.load){//增加对异步加载的支持
  27. __loadImage(src,element.x, element.y, element.w, element.h,element.obj,element.onload);
  28. }else{
  29. bitmap=getBitmap(src, element.x, element.y, element.w, element.h, _dataSource);
  30. element.obj.addChild(bitmap);
  31. }
  32. } else if (element.obj) {
  33. } else {
  34. console.error("addElements 缺少显示对象");
  35. return;
  36. }
  37. }
  38. element.obj.x = element.X ? element.X : 0;
  39. element.obj.y = element.Y ? element.Y : 0;
  40. element.obj.alpha=element.alpha||1;
  41. element.obj.scaleX=element.scaleX||1;
  42. element.obj.scaleY=element.scaleY||1;
  43. element.obj.visible= typeof(element.visible) == "boolean"?element.visible:true;
  44. element.obj.rotate=element.rotate||0;
  45. if (element.center) {
  46. setMiddleX(element.obj);
  47. }
  48. if (element.anim) {
  49. var anims = element.anim;
  50. if (!(anims instanceof Array)) {
  51. anims = [anims];
  52. }
  53. var tweenLite = null;
  54. for (var j = 0; j < anims.length; j++) {
  55. var anim=anims[j];
  56. anim.ease = anim.ease ? anim.ease : LEasing.Sine.easeIn;
  57. if (!tweenLite) {
  58. tweenLite = LTweenLite.to(element.obj, typeof(anim.duration)=='number' ? anim.duration :.6, anim);
  59. }else{
  60. tweenLite.to(element.obj,typeof(anim.duration)=='number' ? anim.duration : 1, anim);
  61. }
  62. }
  63. }
  64. if (element.click) {
  65. element.obj.addEventListener(LMouseEvent.MOUSE_DOWN, element.click);
  66. } else if (element.click_up) {
  67. element.obj.addEventListener(LMouseEvent.MOUSE_UP, element.click_up);
  68. }
  69. if (layer) {
  70. layer.addChild(element.obj);
  71. }
  72. if (element.init) {
  73. element.init(element.obj);
  74. }
  75. if (element.tag) {
  76. element.obj.tag=element.tag;
  77. }
  78. }
  79. return data;
  80. }
  81. function __loadImage(src,x,y,w,h,parent,onload){
  82. var loader = new LLoader();
  83. loader.addEventListener(LEvent.COMPLETE, function (event) {
  84. var bitmapData = new LBitmapData(event.target);
  85. var bitmap = new LBitmap(bitmapData, x, y, w, h);
  86. bitmap.alpha=.1;
  87. //setTimeout(function(){
  88. parent.addChild(bitmap);
  89. LTweenLite.to(bitmap, .2, {alpha: 1});
  90. if(onload){
  91. onload(bitmap,parent);
  92. }
  93. //},1000);
  94. });
  95. loader.load(src, "bitmapData");
  96. }
  97. function zLoadImage(src,onload,params){
  98. var loader = new LLoader();
  99. loader.addEventListener(LEvent.COMPLETE, function (event) {
  100. var bitmapData = new LBitmapData(event.target);
  101. if(onload){
  102. onload(bitmapData,params);
  103. }
  104. });
  105. loader.load(src, "bitmapData");
  106. }
  107. function setMiddleX(obj) {
  108. obj.x = LGlobal.width / 2 - obj.getWidth() / 2;
  109. }
  110. function setScale(obj, value) {
  111. obj.scaleX = value;
  112. obj.scaleY = value;
  113. }
  114. function getBitmap(imageName, x, y, w, h, dataSource) {
  115. dataSource = dataSource || dataList;
  116. var bitmapdata = new LBitmapData(dataSource[imageName], x, y, w, h);
  117. return new LBitmap(bitmapdata);
  118. }
  119. function getBitmapData(imageName, x, y, w, h, dataSource) {
  120. dataSource = dataSource || dataList;
  121. var bitmapdata = new LBitmapData(dataSource[imageName], x, y, w, h);
  122. return bitmapdata;
  123. }
  124. function createTextView(content, size) {
  125. content = content || "";
  126. size = size || 18;
  127. var text = new LTextField();
  128. text.setType(LTextFieldType.TEXT);
  129. text.size = size;
  130. text.weight = "bolder";
  131. text.color = "#E68C00";
  132. text.lineWidth = 2;
  133. text.stroke = true;
  134. text.font = "微软雅黑";
  135. text.text = content;
  136. return text;
  137. }
  138. function MiddleBitmap(bitmap) {
  139. var self = this;
  140. base(self, LSprite, []);
  141. if (typeof(bitmap) =='string') {
  142. self.bitmapTitle = getBitmap(bitmap);
  143. } else if (bitmap instanceof LBitmapData) {
  144. self.bitmapTitle = new LBitmap(bitmap);
  145. } else if (bitmap instanceof LBitmap) {
  146. self.bitmapTitle = bitmap;
  147. } else if(bitmap instanceof Object){
  148. self.bitmapTitle = getBitmap(bitmap.name,bitmap.x,bitmap.y,bitmap.w,bitmap.h);
  149. } else {
  150. console.info("创建[MiddleBitmap]出错!");
  151. return;
  152. }
  153. self.bitmapTitle.x = -self.bitmapTitle.getWidth() * 0.5;
  154. self.bitmapTitle.y = -self.bitmapTitle.getHeight() * 0.5;
  155. self.addChild(self.bitmapTitle);
  156. }
  157. MiddleBitmap.prototype.setScale = function (value) {
  158. var self = this;
  159. self.scaleX = value;
  160. self.scaleY = value;
  161. };
  162. function rangeRandom(under, over) {
  163. switch (arguments.length) {
  164. case 1:
  165. return parseInt(Math.random() * under + 1);
  166. case 2:
  167. return parseInt(Math.random() * (over - under + 1) + under);
  168. default:
  169. return 0;
  170. }
  171. }
  172. function fade_in(view) {
  173. view.alpha = 0.1;
  174. LTweenLite.to(view, .3, {alpha: 1});
  175. }
  176. var extend = function (target, source) {
  177. for (var p in source) {
  178. if (source.hasOwnProperty(p)&&!target[p]) {
  179. target[p] = source[p];
  180. console.log(p)
  181. }else{
  182. }
  183. }
  184. return target;
  185. };
  186. var utils={};
  187. utils.extend = function() {
  188. var options, name, src, copy, copyIsArray, clone,
  189. target = arguments[0] || {},
  190. i = 1,
  191. length = arguments.length,
  192. deep = false;
  193. //如果第一个值为bool值,那么就将第二个参数作为目标参数,同时目标参数从2开始计数
  194. if ( typeof target === "boolean" ) {
  195. deep = target;
  196. target = arguments[1] || {};
  197. // skip the boolean and the target
  198. i = 2;
  199. }
  200. // 当目标参数不是object 或者不是函数的时候,设置成object类型的
  201. if ( typeof target !== "object" && !utils.isFunction(target) ) {
  202. target = {};
  203. }
  204. //如果extend只有一个函数的时候,那么将跳出后面的操作
  205. if ( length === i ) {
  206. target = this;
  207. --i;
  208. }
  209. for ( ; i < length; i++ ) {
  210. // 仅处理不是 null/undefined values
  211. if ( (options = arguments[ i ]) != null ) {
  212. // 扩展options对象
  213. for ( name in options ) {
  214. src = target[ name ];
  215. copy = options[ name ];
  216. // 如果目标对象和要拷贝的对象是恒相等的话,那就执行下一个循环。
  217. if ( target === copy ) {
  218. continue;
  219. }
  220. // 如果我们拷贝的对象是一个对象或者数组的话
  221. if ( deep && copy && ( utils.isPlainObject(copy) || (copyIsArray = utils.isArray(copy)) ) ) {
  222. if ( copyIsArray ) {
  223. copyIsArray = false;
  224. clone = src && utils.isArray(src) ? src : [];
  225. } else {
  226. clone = src && utils.isPlainObject(src) ? src : {};
  227. }
  228. //不删除目标对象,将目标对象和原对象重新拷贝一份出来。
  229. target[ name ] = utils.extend( deep, clone, copy );
  230. // 如果options[name]的不为空,那么将拷贝到目标对象上去。
  231. } else if ( copy !== undefined ) {
  232. target[ name ] = copy;
  233. }
  234. }
  235. }
  236. }
  237. // 返回修改的目标对象
  238. return target;
  239. };
  240. function createSound(link){
  241. var html = '<audio id="bg_sound" loop="loop" style="display:none" autoplay="autoplay" >' +
  242. '<source src="' + link + '" type="audio/mpeg">' +
  243. '</audio>';
  244. var div = document.createElement("div");
  245. document.getElementsByTagName("body")[0].appendChild(div);
  246. div.innerHTML = html;
  247. var bg_sound = document.getElementById('bg_sound');
  248. bg_sound.playing=1;
  249. bg_sound.addEventListener("playing", function () {
  250. bg_sound.playing = 1;
  251. });
  252. bg_sound.addEventListener("pause", function () {
  253. bg_sound.playing = 0;
  254. });
  255. return bg_sound;
  256. }
  257. function MyProgressBar(bgUrl,textColor){
  258. var self=this;
  259. LExtends(self,LSprite,[]);
  260. self.bg=new LSprite();
  261. self.addChild(self.bg);
  262. //self.graphics.drawRect(0, "#ff0000", [0,0, LGlobal.width, LGlobal.height], true, "#FFFFFF");
  263. if(bgUrl){
  264. zLoadImage(bgUrl,function(img){
  265. var bitmap=new LBitmap(img);
  266. self.bg.addChild(bitmap);
  267. });
  268. }
  269. self.text=new LTextField();
  270. self.text.color=textColor||"#000";
  271. self.text.size=25;
  272. self.text.text="0%";
  273. self.addChild(self.text);
  274. self.text.y=550;
  275. setMiddleX(self.text);
  276. self.setProgress=function(value){
  277. self.text.text=value+"%";
  278. setMiddleX(self.text);
  279. }
  280. }