API Docs for: 1.10.1 最后更新日期:2016年03月28日
Google搜索   
Show:

File: lib/LTransitionManager-0.1.0.js

  1. /** @language chinese
  2. * <p>Library:lufylegend.LTransitionManager-x.x.x.min.js</p>
  3. * <p>为LTransitionManager提供动画效果。</p>
  4. * @class LTransition
  5. * @constructor
  6. * @since 1.8.0
  7. * @public
  8. */
  9. var LTransition = (function() {
  10. function LTransition(displayObject, transObj) {
  11. this.child = displayObject;
  12. this.trans = transObj;
  13. }
  14. LTransition.prototype = {
  15. startTransition : function() {
  16. var self = this;
  17. switch(self.trans.type) {
  18. case LTransition.Blinds:
  19. self.blinds();
  20. break;
  21. case LTransition.Fade:
  22. self.fade();
  23. break;
  24. case LTransition.Fly:
  25. self.fly();
  26. break;
  27. case LTransition.Iris:
  28. self.iris();
  29. break;
  30. case LTransition.Squeeze:
  31. self.squeeze();
  32. break;
  33. case LTransition.Wipe:
  34. self.wipe();
  35. break;
  36. case LTransition.Zoom:
  37. self.zoom();
  38. break;
  39. case LTransition.PixelDissolve:
  40. self.pixelDissolve();
  41. break;
  42. case LTransition.Curtain:
  43. self.curtain();
  44. break;
  45. default:
  46. throw ("the type is not exists.");
  47. }
  48. },
  49. blindsComplete : function(self) {
  50. if (self.trans.direction == LTransition.OUT) {
  51. self.child.mask.clear();
  52. } else {
  53. self.blindsUpdateRun();
  54. }
  55. self.child.mask = null;
  56. if (self.trans.onComplete) {
  57. self.trans.onComplete(self.child);
  58. }
  59. },
  60. blindsUpdateRun : function() {
  61. var self = this, g = self.child.mask, c = LGlobal.canvas;
  62. g.clear();
  63. if (self.trans.dimension) {
  64. g.add(function() {
  65. c.save();
  66. for (var i = 0; i < self.trans.numStrips; i++) {
  67. c.rect(i * self.maxSize, 0, self.blindsSize, self.child.getHeight());
  68. }
  69. c.restore();
  70. });
  71. } else {
  72. g.add(function() {
  73. c.save();
  74. for (var i = 0; i < self.trans.numStrips; i++) {
  75. c.rect(0, 0 + i * self.maxSize, self.child.getWidth(), self.blindsSize);
  76. }
  77. c.restore();
  78. });
  79. }
  80. },
  81. blindsUpdate : function(self) {
  82. self.blindsUpdateRun();
  83. if (self.trans.onUpdate) {
  84. self.trans.onUpdate(self.child);
  85. }
  86. },
  87. blinds : function() {
  88. var self = this;
  89. if (!self.trans.numStrips)
  90. self.trans.numStrips = 1;
  91. self.blindsSize = 0;
  92. if (self.trans.dimension) {
  93. self.maxSize = self.child.getWidth() / self.trans.numStrips >> 0;
  94. } else {
  95. self.maxSize = self.child.getHeight() / self.trans.numStrips >> 0;
  96. }
  97. var g = new LGraphics();
  98. self.child.mask = g;
  99. var toSize = self.maxSize;
  100. if (self.trans.direction == LTransition.OUT) {
  101. self.blindsSize = self.maxSize;
  102. toSize = 0;
  103. }
  104. LTweenLite.to(self, self.trans.duration, {
  105. blindsSize : toSize,
  106. onComplete : self.blindsComplete,
  107. onUpdate : self.blindsUpdate,
  108. ease : self.trans.easing
  109. });
  110. },
  111. fadeComplete : function(self) {
  112. self.child.alpha = self.alpha;
  113. if (self.trans.onComplete) {
  114. self.trans.onComplete(self.child);
  115. }
  116. },
  117. fadeUpdate : function(self) {
  118. self.child.alpha = self.alpha;
  119. if (self.trans.onUpdate) {
  120. self.trans.onUpdate(self.child);
  121. }
  122. },
  123. fade : function() {
  124. var self = this;
  125. var toAlpha = 1;
  126. self.alpha = 0;
  127. if (self.trans.direction == LTransition.OUT) {
  128. self.alpha = 1;
  129. toAlpha = 0;
  130. }
  131. self.child.alpha = self.alpha;
  132. LTweenLite.to(self, self.trans.duration, {
  133. alpha : toAlpha,
  134. onComplete : self.fadeComplete,
  135. onUpdate : self.fadeUpdate,
  136. ease : self.trans.easing
  137. });
  138. },
  139. flyComplete : function(self) {
  140. self.child.x = self.x;
  141. self.child.y = self.y;
  142. if (self.trans.onComplete) {
  143. self.trans.onComplete(self.child);
  144. }
  145. },
  146. flyUpdate : function(self) {
  147. self.child.x = self.x;
  148. self.child.y = self.y;
  149. if (self.trans.onUpdate) {
  150. self.trans.onUpdate(self.child);
  151. }
  152. },
  153. fly : function() {
  154. var self = this;
  155. var toX = self.child.x;
  156. var toY = self.child.y;
  157. switch(self.trans.startPoint) {
  158. case 1:
  159. self.x = -self.child.getWidth();
  160. self.y = -self.child.getHeight();
  161. break;
  162. case 2:
  163. self.x = (LGlobal.width - self.child.getWidth()) * 0.5;
  164. self.y = -self.child.getHeight();
  165. break;
  166. case 3:
  167. self.x = LGlobal.width;
  168. self.y = -self.child.getHeight();
  169. break;
  170. case 4:
  171. self.x = -self.child.getWidth();
  172. self.y = (LGlobal.height - self.child.getHeight()) * 0.5;
  173. break;
  174. case 6:
  175. self.x = LGlobal.width;
  176. self.y = (LGlobal.height - self.child.getHeight()) * 0.5;
  177. break;
  178. case 7:
  179. self.x = -self.child.getWidth();
  180. self.y = LGlobal.height;
  181. break;
  182. case 8:
  183. self.x = (LGlobal.width - self.child.getWidth()) * 0.5;
  184. self.y = LGlobal.height;
  185. break;
  186. case 9:
  187. self.x = LGlobal.width;
  188. self.y = LGlobal.height;
  189. break;
  190. case 5:
  191. default:
  192. self.x = (LGlobal.width - self.child.getWidth()) * 0.5;
  193. self.y = (LGlobal.height - self.child.getHeight()) * 0.5;
  194. }
  195. if (self.trans.direction == LTransition.OUT) {
  196. var toX = self.x;
  197. var toY = self.y;
  198. self.x = self.child.x;
  199. self.y = self.child.y;
  200. } else {
  201. self.child.x = self.x;
  202. self.child.y = self.y;
  203. }
  204. LTweenLite.to(self, self.trans.duration, {
  205. x : toX,
  206. y : toY,
  207. onComplete : self.flyComplete,
  208. onUpdate : self.flyUpdate,
  209. ease : self.trans.easing
  210. });
  211. },
  212. irisComplete : function(self) {
  213. if (self.trans.direction == LTransition.OUT) {
  214. self.child.mask.clear();
  215. } else {
  216. self.irisUpdateRun();
  217. }
  218. self.child.mask = null;
  219. if (self.trans.onComplete) {
  220. self.trans.onComplete(self.child);
  221. }
  222. },
  223. irisUpdateRun : function() {
  224. var self = this, g = self.child.mask, c = LGlobal.canvas;
  225. g.clear();
  226. if (self.trans.shape == LIris.CIRCLE) {
  227. g.drawArc(0, "#000000", [self.x, self.y, self.r, 0, Math.PI * 2]);
  228. } else {
  229. g.drawRect(0, "#000000", [self.x + self.sLeft, self.y + self.sTop, self.width, self.height]);
  230. }
  231. },
  232. irisUpdate : function(self) {
  233. self.irisUpdateRun();
  234. if (self.trans.onUpdate) {
  235. self.trans.onUpdate(self.child);
  236. }
  237. },
  238. iris : function() {
  239. var self = this;
  240. self.sLeft = 0;
  241. self.sTop = 0;
  242. self.width = 0;
  243. self.height = 0;
  244. self.x = 0;
  245. self.y = 0;
  246. self.r = 0;
  247. self.eWidth = self.child.getWidth();
  248. self.eHeight = self.child.getHeight();
  249. switch(self.trans.startPoint) {
  250. case 1:
  251. self.eR = Math.sqrt(self.eWidth * self.eWidth + self.eHeight * self.eHeight);
  252. break;
  253. case 2:
  254. self.eR = Math.sqrt((self.eWidth * 0.5) * (self.eWidth * 0.5) + self.eHeight * self.eHeight);
  255. self.x = self.child.getWidth() * 0.5;
  256. break;
  257. case 3:
  258. self.eR = Math.sqrt(self.eWidth * self.eWidth + self.eHeight * self.eHeight);
  259. self.x = self.child.getWidth();
  260. break;
  261. case 4:
  262. self.eR = Math.sqrt(self.eWidth * self.eWidth + (self.eHeight * 0.5) * (self.eHeight * 0.5));
  263. self.y = self.child.getHeight() * 0.5;
  264. break;
  265. case 6:
  266. self.eR = Math.sqrt(self.eWidth * self.eWidth + (self.eHeight * 0.5) * (self.eHeight * 0.5));
  267. self.x = self.child.getWidth();
  268. self.y = self.child.getHeight() * 0.5;
  269. break;
  270. case 7:
  271. self.eR = Math.sqrt(self.eWidth * self.eWidth + self.eHeight * self.eHeight);
  272. self.y = self.child.getHeight();
  273. break;
  274. case 8:
  275. self.eR = Math.sqrt((self.eWidth * 0.5) * (self.eWidth * 0.5) + self.eHeight * self.eHeight);
  276. self.x = self.child.getWidth() * 0.5;
  277. self.y = self.child.getHeight();
  278. break;
  279. case 9:
  280. self.eR = Math.sqrt(self.eWidth * self.eWidth + self.eHeight * self.eHeight);
  281. self.x = self.child.getWidth();
  282. self.y = self.child.getHeight();
  283. break;
  284. case 5:
  285. default:
  286. self.eR = Math.sqrt((self.eWidth * 0.5) * (self.eWidth * 0.5) + (self.eHeight * 0.5) * (self.eHeight * 0.5));
  287. self.x = self.child.getWidth() * 0.5;
  288. self.y = self.child.getHeight() * 0.5;
  289. }
  290. self.eLeft = -self.x;
  291. self.eTop = -self.y;
  292. var g = new LGraphics();
  293. self.child.mask = g;
  294. var toSize = self.maxSize;
  295. if (self.trans.direction == LTransition.OUT) {
  296. self.sLeft = self.eLeft;
  297. self.sTop = self.eTop;
  298. self.eLeft = 0;
  299. self.eTop = 0;
  300. self.width = self.eWidth;
  301. self.height = self.eHeight;
  302. self.eWidth = 0;
  303. self.eHeight = 0;
  304. self.r = self.eR;
  305. self.eR = 0;
  306. }
  307. LTweenLite.to(self, self.trans.duration, {
  308. width : self.eWidth,
  309. height : self.eHeight,
  310. sLeft : self.eLeft,
  311. sTop : self.eTop,
  312. r : self.eR,
  313. onComplete : self.irisComplete,
  314. onUpdate : self.irisUpdate,
  315. ease : self.trans.easing
  316. });
  317. },
  318. curtainComplete : function(self) {
  319. if (self.trans.direction == LTransition.OUT) {
  320. self.child.mask.clear();
  321. } else {
  322. self.curtainUpdateRun();
  323. }
  324. self.child.mask = null;
  325. if (self.trans.onComplete) {
  326. self.trans.onComplete(self.child);
  327. }
  328. },
  329. curtainUpdateRun : function() {
  330. var self = this, g = self.child.mask, c = LGlobal.canvas;
  331. g.clear();
  332. if (self.trans.dimension) {
  333. g.add(function() {
  334. c.save();
  335. c.rect(0, 0, self.width, self.child.getHeight());
  336. c.rect(self.child.getWidth() - self.width, 0, self.width, self.child.getHeight());
  337. c.restore();
  338. });
  339. } else {
  340. g.add(function() {
  341. c.save();
  342. c.rect(0, 0, self.child.getWidth(), self.height);
  343. c.rect(0, self.child.getHeight() - self.height, self.child.getWidth(), self.height);
  344. c.restore();
  345. });
  346. }
  347. },
  348. curtainUpdate : function(self) {
  349. self.curtainUpdateRun();
  350. if (self.trans.onUpdate) {
  351. self.trans.onUpdate(self.child);
  352. }
  353. },
  354. curtain : function() {
  355. var self = this;
  356. var eW = self.child.getWidth() * 0.5;
  357. var eH = self.child.getHeight() * 0.5;
  358. if (self.trans.dimension) {
  359. eH = 0;
  360. } else {
  361. eW = 0;
  362. }
  363. self.width = 0;
  364. self.height = 0;
  365. var g = new LGraphics();
  366. self.child.mask = g;
  367. var toSize = self.maxSize;
  368. if (self.trans.direction == LTransition.OUT) {
  369. self.width = eW;
  370. self.height = eH;
  371. eW = 0;
  372. eH = 0;
  373. }
  374. LTweenLite.to(self, self.trans.duration, {
  375. width : eW,
  376. height : eH,
  377. onComplete : self.curtainComplete,
  378. onUpdate : self.curtainUpdate,
  379. ease : self.trans.easing
  380. });
  381. },
  382. squeezeComplete : function(self) {
  383. self.child.scaleX = self.scaleX;
  384. self.child.scaleY = self.scaleY;
  385. if (self.trans.onComplete) {
  386. self.trans.onComplete(self.child);
  387. }
  388. },
  389. squeezeUpdate : function(self) {
  390. self.child.scaleX = self.scaleX;
  391. self.child.scaleY = self.scaleY;
  392. if (self.trans.onUpdate) {
  393. self.trans.onUpdate(self.child);
  394. }
  395. },
  396. squeeze : function() {
  397. var self = this;
  398. var toScaleX = 1, toScaleY = 1;
  399. self.scaleX = 0, self.scaleY = 0;
  400. if (self.trans.dimension) {
  401. self.scaleX = 1;
  402. } else {
  403. self.scaleY = 1;
  404. }
  405. if (self.trans.direction == LTransition.OUT) {
  406. toScaleX = self.scaleX, toScaleY = self.scaleY;
  407. self.scaleX = 1, self.scaleY = 1;
  408. }
  409. self.child.scaleX = self.scaleX;
  410. self.child.scaleY = self.scaleY;
  411. LTweenLite.to(self, self.trans.duration, {
  412. scaleX : toScaleX,
  413. scaleY : toScaleY,
  414. onComplete : self.squeezeComplete,
  415. onUpdate : self.squeezeUpdate,
  416. ease : self.trans.easing
  417. });
  418. },
  419. zoomComplete : function(self) {
  420. self.child.scaleX = self.scaleX;
  421. self.child.scaleY = self.scaleY;
  422. if (self.trans.onComplete) {
  423. self.trans.onComplete(self.child);
  424. }
  425. },
  426. zoomUpdate : function(self) {
  427. self.child.scaleX = self.scaleX;
  428. self.child.scaleY = self.scaleY;
  429. if (self.trans.onUpdate) {
  430. self.trans.onUpdate(self.child);
  431. }
  432. },
  433. zoom : function() {
  434. var self = this;
  435. var toScaleX = 1, toScaleY = 1;
  436. self.scaleX = 0, self.scaleY = 0;
  437. if (self.trans.direction == LTransition.OUT) {
  438. toScaleX = 0, toScaleY = 0;
  439. self.scaleX = 1, self.scaleY = 1;
  440. }
  441. self.child.scaleX = self.scaleX;
  442. self.child.scaleY = self.scaleY;
  443. LTweenLite.to(self, self.trans.duration, {
  444. scaleX : toScaleX,
  445. scaleY : toScaleY,
  446. onComplete : self.zoomComplete,
  447. onUpdate : self.zoomUpdate,
  448. ease : self.trans.easing
  449. });
  450. },
  451. wipeComplete : function(self) {
  452. if (self.trans.direction == LTransition.OUT) {
  453. self.child.mask.clear();
  454. } else {
  455. self.wipeUpdateRun();
  456. }
  457. self.child.mask = null;
  458. if (self.trans.onComplete) {
  459. self.trans.onComplete(self.child);
  460. }
  461. },
  462. wipeUpdateRun : function() {
  463. var self = this, g = self.child.mask, c = LGlobal.canvas;
  464. g.clear();
  465. g.drawVertices(0, "#000000", [[self.leftTopX, self.leftTopY], [self.leftBottomX, self.leftBottomY], [self.rightBottomX, self.rightBottomY], [self.rightTopX, self.rightTopY]]);
  466. },
  467. wipeUpdate : function(self) {
  468. self.wipeUpdateRun();
  469. if (self.trans.onUpdate) {
  470. self.trans.onUpdate(self.child);
  471. }
  472. },
  473. wipe : function() {
  474. var self = this, w = self.child.getWidth(), h = self.child.getHeight(), ltX = self.leftTopX = 0, ltY = self.leftTopY = 0, lbX = self.leftBottomX = 0, lbY = self.leftBottomY = h, rtX = self.rightTopX = w, rtY = self.rightTopY = 0, rbX = self.rightBottomX = w, rbY = self.rightBottomY = h;
  475. switch(self.trans.startPoint) {
  476. case 1:
  477. ltX = self.leftTopX = -w;
  478. lbX = self.leftBottomX = -w * 2;
  479. self.rightTopX = 0;
  480. rtX = w * 2;
  481. self.rightBottomX = -w;
  482. rbX = w;
  483. break;
  484. case 2:
  485. ltY = self.leftTopY = -h;
  486. self.leftBottomY = 0;
  487. lbY = h;
  488. rtY = self.rightTopY = -h;
  489. self.rightBottomY = 0;
  490. rbY = h;
  491. break;
  492. case 3:
  493. self.leftTopX = w;
  494. ltX = -w;
  495. self.leftBottomX = w * 2;
  496. lbX = 0;
  497. rtX = self.rightTopX = w * 2;
  498. rbX = self.rightBottomX = w * 3;
  499. break;
  500. case 4:
  501. self.rightTopX = 0;
  502. rtX = w;
  503. self.rightBottomX = 0;
  504. rbX = w;
  505. break;
  506. case 6:
  507. self.leftTopX = w;
  508. ltX = 0;
  509. self.leftBottomX = w;
  510. lbX = 0;
  511. break;
  512. case 7:
  513. lbX = self.leftBottomX = -w;
  514. ltX = self.leftTopX = -w * 2;
  515. self.rightBottomX = 0;
  516. rbX = w * 2;
  517. self.rightTopX = -w;
  518. rtX = w;
  519. break;
  520. case 8:
  521. lbY = self.leftBottomY = h;
  522. self.leftTopY = h;
  523. ltY = 0;
  524. rbY = self.rightBottomY = h;
  525. self.rightTopY = h;
  526. rtY = 0;
  527. break;
  528. case 9:
  529. self.leftBottomX = w;
  530. lbX = -w;
  531. self.leftTopX = w * 2;
  532. ltX = 0;
  533. rbX = self.rightBottomX = w * 2;
  534. rtX = self.rightTopX = w * 3;
  535. break;
  536. case 5:
  537. default:
  538. self.leftTopX = w * 0.5;
  539. self.leftTopY = h * 0.5;
  540. self.rightTopX = w * 0.5;
  541. self.rightTopY = h * 0.5;
  542. self.leftBottomX = w * 0.5;
  543. self.leftBottomY = h * 0.5;
  544. self.rightBottomX = w * 0.5;
  545. self.rightBottomY = h * 0.5;
  546. ltX = 0, ltY = 0;
  547. lbX = 0, lbY = h;
  548. rtX = w, rtY = 0;
  549. rbX = w, rbY = h;
  550. }
  551. var g = new LGraphics();
  552. self.child.mask = g;
  553. if (self.trans.direction == LTransition.OUT) {
  554. var oltX = ltX, oltY = ltY, olbX = lbX, olbY = lbY, ortX = rtX, ortY = rtY, orbX = rbX, orbY = rbY;
  555. ltX = self.leftTopX, ltY = self.leftTopY, lbX = self.leftBottomX, lbY = self.leftBottomY, rtX = self.rightTopX, rtY = self.rightTopY, rbX = self.rightBottomX, rbY = self.rightBottomY;
  556. self.leftTopX = oltX, self.leftTopY = oltY, self.leftBottomX = olbX, self.leftBottomY = olbY, self.rightTopX = ortX, self.rightTopY = ortY, self.rightBottomX = orbX, self.rightBottomY = orbY;
  557. }
  558. LTweenLite.to(self, self.trans.duration, {
  559. leftTopX : ltX,
  560. leftTopY : ltY,
  561. leftBottomX : lbX,
  562. leftBottomY : lbY,
  563. rightTopX : rtX,
  564. rightTopY : rtY,
  565. rightBottomX : rbX,
  566. rightBottomY : rbY,
  567. onComplete : self.wipeComplete,
  568. onUpdate : self.wipeUpdate,
  569. ease : self.trans.easing
  570. });
  571. },
  572. pixelDissolveComplete : function(self) {
  573. if (self.trans.direction == LTransition.OUT) {
  574. self.child.mask.clear();
  575. } else {
  576. self.pixelDissolveUpdateRun();
  577. }
  578. self.child.mask = null;
  579. if (self.trans.onComplete) {
  580. self.trans.onComplete(self.child);
  581. }
  582. },
  583. pixelDissolveUpdateRun : function() {
  584. var self = this, g = self.child.mask, c = LGlobal.canvas, list;
  585. g.clear();
  586. g.add(function() {
  587. c.save();
  588. for (var i = 0; i < self.index; i++) {
  589. list = self.list[i];
  590. c.rect(list[0] * self.w, list[1] * self.h, self.w, self.h);
  591. }
  592. c.restore();
  593. });
  594. },
  595. pixelDissolveUpdate : function(self) {
  596. self.pixelDissolveUpdateRun();
  597. if (self.trans.onUpdate) {
  598. self.trans.onUpdate(self.child);
  599. }
  600. },
  601. pixelDissolve : function() {
  602. var self = this;
  603. var g = new LGraphics();
  604. self.child.mask = g;
  605. LGlobal.mg = g;
  606. self.w = self.child.getWidth() / self.trans.xSections, self.h = self.child.getHeight() / self.trans.ySections;
  607. self.list = [];
  608. for (var i = 0; i < self.trans.xSections; i++) {
  609. for (var j = 0; j < self.trans.ySections; j++) {
  610. self.list.push([i, j]);
  611. }
  612. }
  613. self.index = 0;
  614. var to = self.trans.xSections * self.trans.ySections;
  615. if (self.trans.direction == LTransition.OUT) {
  616. self.index = to;
  617. to = 0;
  618. }
  619. self.list = self.list.sort(function(a, b) {
  620. return Math.random() > 0.5;
  621. });
  622. self.pixelDissolveUpdateRun();
  623. LTweenLite.to(self, self.trans.duration, {
  624. index : to,
  625. onComplete : self.pixelDissolveComplete,
  626. onUpdate : self.pixelDissolveUpdate,
  627. ease : self.trans.easing
  628. });
  629. }
  630. };
  631. /** @language chinese
  632. * <p>指出现时的动画。</p>
  633. * @property LTransition.IN
  634. * @since 1.8.0
  635. * @public
  636. * @static
  637. */
  638. LTransition.IN = "in";
  639. /** @language chinese
  640. * <p>指消失时的动画。</p>
  641. * @property LTransition.OUT
  642. * @since 1.8.0
  643. * @public
  644. * @static
  645. */
  646. LTransition.OUT = "out";
  647. /** @language chinese
  648. * <p>使用逐渐消失或逐渐出现的矩形来显示影剪对象。</p>
  649. * <p>支持属性:</p>
  650. * <table>
  651. * <tr><th>属性</th><th>类型</th><th>说明</th></tr>
  652. * <tr><td>numStrips</td><td>int</td><td>“遮帘”效果中的遮罩条纹数,建议范围1-50。</td></tr>
  653. * <tr><td>dimension</td><td>0|1</td><td>指示遮罩条纹是垂直的(0)还是水平的(1)。遮罩条纹是垂直的,也意味着显示出来的是水平条纹的影片剪辑。</td></tr>
  654. * </table>
  655. * @property LTransition.Blinds
  656. * @since 1.8.0
  657. * @public
  658. * @static
  659. */
  660. LTransition.Blinds = 1;
  661. /** @language chinese
  662. * <p>淡入淡出效果。</p>
  663. * <p>支持属性:无</p>
  664. * @property LTransition.Fade
  665. * @since 1.8.0
  666. * @public
  667. * @static
  668. */
  669. LTransition.Fade = 2;
  670. /** @language chinese
  671. * <p>从某一指定方向滑入影片剪辑对象。</p>
  672. * <p>支持属性:</p>
  673. * <table>
  674. * <tr><th>属性</th><th>类型</th><th>说明</th></tr>
  675. * <tr><td>startPoint</td><td>int</td><td><p>一个指示起始位置的整数,范围1-9。</p><p>1:左上,2:上中,3:右上,4:左中,5:中心,6:右中,7:左下,8:下中,9:右下。</p></td></tr>
  676. * </table>
  677. * @property LTransition.Fly
  678. * @since 1.8.0
  679. * @public
  680. * @static
  681. */
  682. LTransition.Fly = 3;
  683. /** @language chinese
  684. * <p>使用可以缩放的方形或圆形动画遮罩来显示影剪对象。</p>
  685. * <p>支持属性:</p>
  686. * <table>
  687. * <tr><th>属性</th><th>类型</th><th>说明</th></tr>
  688. * <tr><td>startPoint</td><td>int</td><td><p>一个指示起始位置的整数,范围1-9。</p><p>1:左上,2:上中,3:右上,4:左中,5:中心,6:右中,7:左下,8:下中,9:右下。</p></td></tr>
  689. * <tr><td>shape</td><td>int</td><td><p>LIris.SQUARE(方形)的遮罩形状</p><p>LIris.CIRCLE(圆形)的遮罩形状</p></td></tr>
  690. * </table>
  691. * @property LTransition.Iris
  692. * @since 1.8.0
  693. * @public
  694. * @static
  695. */
  696. LTransition.Iris = 4;
  697. /** @language chinese
  698. * <p>使用挤压遮帘效果水平或垂直显示对象。</p>
  699. * <p>支持属性:</p>
  700. * <table>
  701. * <tr><th>属性</th><th>类型</th><th>说明</th></tr>
  702. * <tr><td>dimension</td><td>int</td><td>挤压效果是水平的(0)还是垂直的(1)。</td></tr>
  703. * </table>
  704. * @property LTransition.Curtain
  705. * @since 1.8.0
  706. * @public
  707. * @static
  708. */
  709. LTransition.Curtain = 5;
  710. /** @language chinese
  711. * <p>使用随机出现或消失的棋盘图案矩形来显示影剪。</p>
  712. * <p>支持属性:</p>
  713. * <table>
  714. * <tr><th>属性</th><th>类型</th><th>说明</th></tr>
  715. * <tr><td>xSections</td><td>int</td><td>沿水平轴的遮罩矩形的数目(建议1-25)</td></tr>
  716. * <tr><td>ySections</td><td>int</td><td>沿垂直轴的遮罩矩形的数目(建议1-25)</td></tr>
  717. * </table>
  718. * @property LTransition.PixelDissolve
  719. * @since 1.8.0
  720. * @public
  721. * @static
  722. */
  723. LTransition.PixelDissolve = 6;
  724. /** @language chinese
  725. * <p>使用缩放效果水平或垂直影剪对象。</p>
  726. * <p>支持属性:</p>
  727. * <table>
  728. * <tr><th>属性</th><th>类型</th><th>说明</th></tr>
  729. * <tr><td>dimension</td><td>int</td><td>缩放效果是水平的(0)还是垂直的(1)。</td></tr>
  730. * </table>
  731. * @property LTransition.Squeeze
  732. * @since 1.8.0
  733. * @public
  734. * @static
  735. */
  736. LTransition.Squeeze = 7;
  737. /** @language chinese
  738. * <p>使用水平移动的某一形状的动画遮罩来显示或隐藏影剪对象。</p>
  739. * <p>支持属性:</p>
  740. * <table>
  741. * <tr><th>属性</th><th>类型</th><th>说明</th></tr>
  742. * <tr><td>startPoint</td><td>int</td><td><p>一个指示起始位置的整数,范围1-9。</p><p>1:左上,2:上中,3:右上,4:左中,5:中心,6:右中,7:左下,8:下中,9:右下。</p></td></tr>
  743. * </table>
  744. * @property LTransition.Wipe
  745. * @since 1.8.0
  746. * @public
  747. * @static
  748. */
  749. LTransition.Wipe = 8;
  750. /** @language chinese
  751. * <p>通过按比例缩放来 放大或缩小 影剪对象。</p>
  752. * <p>支持属性:无</p>
  753. * @property LTransition.Zoom
  754. * @since 1.8.0
  755. * @public
  756. * @static
  757. */
  758. LTransition.Zoom = 9;
  759. return LTransition;
  760. })();
  761. var LIris = (function() {
  762. function LIris() {
  763. }
  764. LIris.SQUARE = 0;
  765. LIris.CIRCLE = 1;
  766. return LIris;
  767. })();
  768. /** @language chinese
  769. * <p>Library:lufylegend.LTransitionManager-x.x.x.min.js</p>
  770. * <p>定义动画效果。 它允许您将九种动画效果中的一种应用于影片剪辑。 在创建自定义组件时,您可以使用 LTransitionManager 类将动画效果应用于组件可视界面中的影片剪辑。整体来说,有九个不同的动画可以用。</p>
  771. * <p>您可以通过两种方式创建 TransitionManager 实例:</p>
  772. * <p>请调用 LTransitionManager.start() 方法。 这是创建 LTransitionManager 实例最简单的方式,建议使用该方式。</p>
  773. * <p>使用 new 运算符。 然后可以指定过渡属性,并通过调用 LTransitionManager.startTransition() 方法在另一步中启动过渡效果。</p>
  774. * @class LTransitionManager
  775. * @constructor
  776. * @param {LDisplayObject} displayObject 要应用过渡效果的对象。
  777. * @examplelink <p><a href="../../../api/LTransitionManager/index.html" target="_blank">测试链接</a></p>
  778. * @since 1.8.0
  779. * @public
  780. */
  781. var LTransitionManager = (function() {
  782. function LTransitionManager(displayObject) {
  783. this.child = displayObject;
  784. }
  785. LTransitionManager.prototype = {
  786. /** @language chinese
  787. * <p>创建新的 LTransitionManager 实例,并指定目标对象,应用过渡并启动该过渡。</p>
  788. * @method startTransition
  789. * @param {Object} transParams 请参考LTransitionManager.start的transParams参数。
  790. * @since 1.8.0
  791. * @example
  792. * LInit(20,"legend",640,400,main);
  793. * function main(){
  794. * var layer = new LSprite();
  795. * addChild(layer);
  796. * var sprite01 = new LSprite();
  797. * sprite01.graphics.drawRect(1, "#ff0000", [0, 0, 300, 300], true, "#ff0000");
  798. * layer.addChild(sprite01);
  799. * var sprite02 = new LSprite();
  800. * sprite02.graphics.drawRect(1, "#008800", [0, 0, 300, 300], true, "#008800");
  801. * layer.addChild(sprite02);
  802. * var transitionManager = new LTransitionManager(sprite02);
  803. * var transParams = {type:LTransition.Fly,startPoint:1,duration:2,direction:LTransition.OUT,easing:Strong.easeOut};
  804. * transitionManager.startTransition(transParams);
  805. * }
  806. * @examplelink <p><a href="../../../api/LTransitionManager/startTransition.html" target="_blank">测试链接</a></p>
  807. * @public
  808. */
  809. startTransition : function(transParams) {
  810. return LTransitionManager.start(this.child, transParams);
  811. }
  812. };
  813. /** @language chinese
  814. * <p>[静态] 不创建新的 LTransitionManager 实例,直接指定目标对象,应用过渡并启动该过渡。</p>
  815. * @method LTransitionManager.start
  816. * @static
  817. * @param {LDisplayObject} content 要应用过渡效果的对象。
  818. * @param {Object} transParams
  819. * 在对象内传递的参数的集合。 transParams 对象应包含 type 参数,该参数(后面跟有 direction、duration 和 easing 参数) 指示要应用的过渡效果类。
  820. * 此外,还必须包括该过渡效果类所必需的任何参数。 例如,LIris过渡效果类需要附加的 startPoint 和 shape 参数。
  821. * 因此,除了每个过渡都需要的 type、duration 和 easing 参数外,您还应该添加 LIris 效果所需要的 startPoint 和 shape 参数(添加到 transParams 对象)。
  822. * <p>transParams可以使用的值:</p>
  823. * <table>
  824. * <tr><th>属性</th><th>类型</th><th>说明</th></tr>
  825. * <tr><td>type</td><td>float</td><td>过渡效果的类型,具体类型请参考LTransition</td></tr>
  826. * <tr><td>duration</td><td>float</td><td>过渡效果的时间长度。</td></tr>
  827. * <tr><td>ease</td><td>LEasing (or Function)</td><td>动画的补间效果,比如LEasing.Quad.easeIn or LEasing.Cubic.easeOut。默认值是LEasing.None.easeIn.</td></tr>
  828. * </table>
  829. * @since 1.8.0
  830. * @example
  831. * LInit(20,"legend",640,400,main);
  832. * function main(){
  833. * var layer = new LSprite();
  834. * addChild(layer);
  835. * var sprite01 = new LSprite();
  836. * sprite01.graphics.drawRect(1, "#ff0000", [0, 0, 300, 300], true, "#ff0000");
  837. * layer.addChild(sprite01);
  838. * var sprite02 = new LSprite();
  839. * sprite02.graphics.drawRect(1, "#008800", [0, 0, 300, 300], true, "#008800");
  840. * layer.addChild(sprite02);
  841. * var transParams = {type:LTransition.Fly,startPoint:1,duration:2,direction:LTransition.OUT,easing:Strong.easeOut};
  842. * LTransitionManager.start(sprite02,transParams);
  843. * }
  844. * @examplelink <p><a href="../../../api/LTransitionManager/LTransitionManager_start.html" target="_blank">测试链接</a></p>
  845. * @public
  846. */
  847. LTransitionManager.start = function(displayObject, transParams) {
  848. var trans = new LTransition(displayObject, transParams);
  849. trans.startTransition();
  850. return trans;
  851. };
  852. return LTransitionManager;
  853. })();