terorama

Flash / Tutorials 4

Apr 2nd, 2013
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -----------------------------------------------------
  2. -----------------------------------------------------
  3. -----------------------------------------------------
  4. -----------------------------------------------------
  5. Security.allowDomain("www.youtube.com");
  6.  
  7. var my_player:Object;
  8.  
  9. var my_loader:Loader = new Loader();
  10. my_loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
  11. my_loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
  12.  
  13. function onLoaderInit(e:Event):void{
  14. addChild(my_loader);
  15. my_player = my_loader.content;
  16. my_player.addEventListener("onReady", onPlayerReady);
  17. }
  18.  
  19. function onPlayerReady(e:Event):void{
  20. my_player.setSize(640,360);
  21. my_player.cueVideoById("_OBlgSz8sSM",0);
  22. }
  23.  
  24. play_btn.addEventListener(MouseEvent.CLICK, playVid);
  25. function playVid(e:MouseEvent):void {
  26. my_player.playVideo();
  27. }
  28. pause_btn.addEventListener(MouseEvent.CLICK, pauseVid);
  29. function pauseVid(e:MouseEvent):void {
  30. my_player.pauseVideo();
  31. }
  32.  
  33. -----------------------------------------------------
  34. -----------------------------------------------------
  35. -----------------------------------------------------
  36. -----------------------------------------------------
  37.  
  38. import com.google.maps.LatLng;
  39. import com.google.maps.Map;
  40. import com.google.maps.MapEvent;
  41. import com.google.maps.MapType;
  42.  
  43. var my_map:Map = new Map();
  44. my_map.key = "ABQIAAAAE---user-your-API-key----iR6JhHg";
  45. addChild(my_map);
  46. my_map.setSize(new Point(500, 380));
  47.  
  48. my_map.addEventListener(MapEvent.MAP_READY, onMapReady);
  49. function onMapReady(event:Event):void
  50. {
  51. my_map.setCenter(new LatLng(23.618811, 58.586226), 15, MapType.NORMAL_MAP_TYPE);
  52. }
  53.  
  54. -----------------------------------------------------
  55. -----------------------------------------------------
  56. -----------------------------------------------------
  57. -----------------------------------------------------
  58.  
  59. <?php
  60. $subject = ($_POST['senderName']);
  61. $message = ($_POST['senderMsg']);
  62. $message .= "\n\n---------------------------\n";
  63. $message .= "E-mail Sent From: " . $_POST['senderName'] . " <" . $_POST['senderEmail'] . ">\n";
  64. $headers = "From: " . $_POST['senderName'] . " <" . $_POST['senderEmail'] . ">\n";
  65. if(@mail($to, $subject, $message, $headers))
  66. {
  67. echo "answer=ok";
  68. }
  69. else
  70. {
  71. echo "answer=error";
  72. }
  73. ?>
  74.  
  75. submit_btn.addEventListener(MouseEvent.CLICK, sendMessage);
  76. function sendMessage(e:MouseEvent):void{
  77. var my_vars:URLVariables = new URLVariables();
  78. my_vars.senderName = name_txt.text;
  79. my_vars.senderEmail = email_txt.text;
  80. my_vars.senderMsg = message_txt.text;
  81.  
  82. var my_url:URLRequest = new URLRequest("mail.php");
  83. my_url.method = URLRequestMethod.POST;
  84. my_url.data = my_vars;
  85.  
  86. var my_loader:URLLoader = new URLLoader();
  87. my_loader.dataFormat = URLLoaderDataFormat.VARIABLES;
  88. my_loader.load(my_url);
  89.  
  90. name_txt.text = "";
  91. email_txt.text = "";
  92. message_txt.text = "Message Sent";
  93.  
  94. }
  95.  
  96. -----------------------------------------------------
  97. -----------------------------------------------------
  98. -----------------------------------------------------
  99. -----------------------------------------------------
  100.  
  101. var my_square:Shape = new Shape();
  102. my_square.graphics.beginFill(0x000000,1);
  103. my_square.graphics.drawRect(10,10,100,100);
  104. addChild(my_square);
  105.  
  106. var my_color:ColorTransform = new ColorTransform();
  107. my_color.alphaMultiplier = 0.5;
  108. my_color.blueOffset = 150;
  109. my_color.greenOffset = 100;
  110. my_color.redOffset = -50;
  111. my_square.transform.colorTransform = my_color;
  112.  
  113. -----------------------------------------------------
  114. -----------------------------------------------------
  115. -----------------------------------------------------
  116. -----------------------------------------------------
  117.  
  118. function moveBtn():void {
  119. my_btn.x += 10;
  120. }
  121.  
  122. var myInterval:uint = setInterval (moveBtn, 500);
  123.  
  124. my_btn.addEventListener(MouseEvent.CLICK, stopMe);
  125. function stopMe(e:MouseEvent):void{
  126. clearInterval(myInterval);
  127. }
  128.  
  129. -----------------------------------------------------
  130. -----------------------------------------------------
  131. -----------------------------------------------------
  132. -----------------------------------------------------
  133.  
  134. var css_loader:URLLoader = new URLLoader();
  135. var txt_loader:URLLoader = new URLLoader();
  136. var my_css:StyleSheet = new StyleSheet();
  137. var my_txt:TextField = new TextField();
  138.  
  139. css_loader.load(new URLRequest("myStyle.css"));
  140. css_loader.addEventListener(Event.COMPLETE, onCSSComplete);
  141.  
  142. function onCSSComplete(e:Event):void {
  143. my_css.parseCSS(e.target.data);
  144. txt_loader.load(new URLRequest("myText.txt"));
  145.  
  146. }
  147.  
  148. txt_loader.addEventListener(Event.COMPLETE, onTxtComplete);
  149.  
  150. function onTxtComplete(e:Event):void {
  151. my_txt.styleSheet=my_css;
  152. my_txt.htmlText=e.target.data;
  153. addChild(my_txt);
  154.  
  155. my_txt.width=300;
  156. my_txt.autoSize=TextFieldAutoSize.LEFT;
  157. my_txt.wordWrap=true;
  158.  
  159. }
  160.  
  161. -----------------------------------------------------
  162. -----------------------------------------------------
  163. -----------------------------------------------------
  164. -----------------------------------------------------
  165.  
  166. var my_shape:Shape = new Shape();
  167. addChild(my_shape);
  168.  
  169. my_shape.graphics.lineStyle(1, 0xFF0000, 1);
  170. my_shape.graphics.moveTo(50, 50);
  171. my_shape.graphics.lineTo(100, 50);
  172. my_shape.graphics.lineTo(100, 100);
  173. my_shape.graphics.lineTo(50, 100);
  174. my_shape.graphics.lineTo(50, 50);
  175.  
  176. var my_shape:Shape = new Shape();
  177. addChild(my_shape);
  178.  
  179. my_shape.graphics.lineStyle(1, 0xFF0000, 1);
  180. my_shape.graphics.moveTo(0, 50);
  181. my_shape.graphics.curveTo(25, 0, 50, 50);
  182. my_shape.graphics.curveTo(25, 100, 0, 50);
  183.  
  184.  
  185. var my_shape:Shape = new Shape();
  186. addChild(my_shape);
  187.  
  188. my_shape.graphics.lineStyle(1, 0xFF0000, 1);
  189. my_shape.graphics.beginFill(0x000000,1);
  190. my_shape.graphics.moveTo(50, 50);
  191. my_shape.graphics.lineTo(100, 50);
  192. my_shape.graphics.lineTo(100, 100);
  193. my_shape.graphics.lineTo(50, 100);
  194. my_shape.graphics.lineTo(50, 50);
  195. my_shape.graphics.endFill();
  196.  
  197. my_shape.graphics.clear();
  198.  
  199. var my_shape:Shape = new Shape();
  200. addChild(my_shape);
  201.  
  202. my_shape.graphics.lineStyle(1, 0xFF0000, 1);
  203. my_shape.graphics.beginFill(0x000000,1);
  204. my_shape.graphics.drawRect(50, 50, 300, 100);
  205. my_shape.graphics.endFill();
  206.  
  207. var my_shape:Shape = new Shape();
  208. addChild(my_shape);
  209.  
  210. my_shape.graphics.lineStyle(1, 0xFF0000, 1);
  211. my_shape.graphics.beginFill(0x000000,1);
  212. my_shape.graphics.drawCircle(150, 150, 25);
  213. my_shape.graphics.endFill();
  214.  
  215. var my_shape:Shape = new Shape();
  216. addChild(my_shape);
  217.  
  218. my_shape.graphics.lineStyle(1, 0xFF0000, 1);
  219. my_shape.graphics.beginFill(0x000000,1);
  220. my_shape.graphics.drawRoundRect(50, 50, 300, 100, 25);
  221. my_shape.graphics.endFill();
  222.  
  223. -----------------------------------------------------
  224. -----------------------------------------------------
  225. -----------------------------------------------------
  226. -----------------------------------------------------
  227.  
  228. my_btn.addEventListener(MouseEvent.CLICK, onClick);
  229. function onClick(e:MouseEvent):void{
  230. navigateToURL(new URLRequest("http://www.republicofcode.com/"), "_blank");
  231. }
  232.  
  233. -----------------------------------------------------
  234. -----------------------------------------------------
  235. -----------------------------------------------------
  236. -----------------------------------------------------
  237.  
  238. stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);
  239. function myKeyDown(e:KeyboardEvent):void {
  240. switch (e.keyCode) {
  241. case Keyboard.LEFT :
  242. my_mc.x-=5;
  243. break;
  244.  
  245. case Keyboard.RIGHT :
  246. my_mc.x+=5;
  247. break;
  248.  
  249. case Keyboard.UP :
  250. my_mc.y-=5;
  251. break;
  252.  
  253. case Keyboard.DOWN :
  254. my_mc.y+=5;
  255. break;
  256. }
  257. }
  258.  
  259. -----------------------------------------------------
  260. -----------------------------------------------------
  261. -----------------------------------------------------
  262. -----------------------------------------------------
  263.  
  264. <statuses>
  265.  
  266. <status>
  267. <created_at>...</create_at>
  268. <text>...</text>
  269. <other elements...>...</other>
  270. </status>
  271.  
  272. <status>
  273. <created_at>...</create_at>
  274. <text>...</text>
  275. <other elements...>...</other>
  276. </status>
  277.  
  278. <status>
  279. <created_at>...</create_at>
  280. <text>...</text>
  281. <other elements...>...</other>
  282. </status>
  283.  
  284. </statuses>
  285.  
  286.  
  287. var myXMLLoader:URLLoader = new URLLoader();
  288. myXMLLoader.load(new URLRequest("http://twitter.com/statuses/user_timeline.xml?screen_name=blue_chi"));
  289. myXMLLoader.addEventListener(Event.COMPLETE, processXML);
  290.  
  291. function processXML(e:Event):void{
  292. var myXML:XML = new XML(e.target.data);
  293.  
  294. tweet_1.text = myXML.status[0].text;
  295. tweet_2.text = myXML.status[1].text;
  296. tweet_3.text = myXML.status[2].text;
  297. tweet_4.text = myXML.status[3].text;
  298. }
  299.  
  300. follow_btn.addEventListener(MouseEvent.CLICK, onFollow);
  301. function onFollow(e:MouseEvent):void{
  302. navigateToURL(new URLRequest("http:///twitter.com/blue_chi"));
  303. }
  304. follow_btn.buttonMode = true;
  305.  
  306. -----------------------------------------------------
  307. -----------------------------------------------------
  308. -----------------------------------------------------
  309. -----------------------------------------------------
  310.  
  311. addEventListener(Event.ENTER_FRAME, timeUpdate);
  312. function timeUpdate(e:Event):void{
  313.  
  314. var my_date:Date = new Date();
  315. hours_mc.rotation=Number(my_date.hours)*30;
  316. minutes_mc.rotation=Number(my_date.minutes)*6;
  317. seconds_mc.rotation=Number(my_date.seconds)*6;
  318.  
  319. }
  320.  
  321. close_btn.buttonMode = true;
  322. close_btn.addEventListener(MouseEvent.CLICK, onClose);
  323. function onClose(e:MouseEvent):void{
  324.  
  325. NativeApplication.nativeApplication.exit();
  326.  
  327. }
  328.  
  329. body_mc.addEventListener(MouseEvent.MOUSE_DOWN, onDragStart);
  330. function onDragStart(e:MouseEvent):void{
  331.  
  332. stage.nativeWindow.startMove();
  333. alpha=0.5;
  334.  
  335. }
  336.  
  337. body_mc.addEventListener(MouseEvent.MOUSE_UP, onDragStop);
  338. function onDragStop(e:MouseEvent):void{
  339.  
  340. alpha=1;
  341.  
  342. }
  343.  
  344. -----------------------------------------------------
  345. -----------------------------------------------------
  346. -----------------------------------------------------
  347. -----------------------------------------------------
  348.  
  349. var my_date:Date;
  350.  
  351. var my_timer:Timer=new Timer(1000);
  352. my_timer.addEventListener(TimerEvent.TIMER, onTimer);
  353. my_timer.start();
  354.  
  355. function onTimer(e:TimerEvent):void {
  356. my_date = new Date();
  357. trace(my_date.hours + ":" + my_date.minutes + ":" + my_date.seconds);
  358. }
  359.  
  360. -----------------------------------------------------
  361. -----------------------------------------------------
  362. -----------------------------------------------------
  363. -----------------------------------------------------
  364.  
  365. <?xml version="1.0" encoding="utf-8"?>
  366. <SLIDESHOW SPEED="2">
  367. <IMAGE URL="images/image1.jpg" TITLE="Snow in Wessex Lane" />
  368. <IMAGE URL="images/image2.jpg" TITLE="Riverside Park" />
  369. <IMAGE URL="images/image3.jpg" TITLE="London Museum" />
  370. <IMAGE URL="images/image4.jpg" TITLE="Castle in Wales" />
  371. </SLIDESHOW>
  372.  
  373.  
  374.  
  375.  
  376. //-------------------------------
  377.  
  378. import fl.transitions.Tween;
  379. import fl.transitions.easing.*;
  380. import fl.transitions.TweenEvent;
  381.  
  382. var my_speed:Number;
  383. var my_total:Number;
  384. var my_images:XMLList;
  385.  
  386. var my_loaders_array:Array = [];
  387. var my_labels_array:Array = [];
  388. var my_success_counter:Number = 0;
  389. var my_playback_counter:Number = 0;
  390.  
  391. var my_slideshow:Sprite = new Sprite();
  392. var my_image_slides:Sprite = new Sprite();
  393. var my_label_slides:Sprite = new Sprite();
  394. var my_preloader:TextField;
  395.  
  396. var my_timer:Timer;
  397. var my_prev_tween:Tween;
  398. var my_tweens_array:Array = [];
  399.  
  400. var my_xml_loader:URLLoader = new URLLoader();
  401. my_xml_loader.load(new URLRequest("slideshow.xml"));
  402. my_xml_loader.addEventListener(Event.COMPLETE, processXML);
  403.  
  404.  
  405. //-------------------------------
  406. function processXML (e:Event):void{
  407.  
  408. var my_xml:XML = new XML(e.target.data);
  409. my_speed=my_xml.@SPEED;
  410. my_images=my_xml.IMAGE;
  411. my_total=my_images.length();
  412.  
  413. loadImages();
  414.  
  415. my_xml_loader.removeEventListener(Event.COMPLETE, processXML);
  416. my_xml_loader = null;
  417.  
  418. }
  419. //-------------------------------
  420.  
  421. function loadImages():void{
  422. for (var i:Number = 0; i < my_total; i++){
  423.  
  424. var my_url:String = my_images[i].@URL;
  425. var my_loader:Loader = new Loader();
  426. my_loader.load(new URLRequest(my_url));
  427. my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
  428. my_loaders_array.push(my_loader);
  429.  
  430. var my_label:TextField = new TextField();
  431. my_label.text = my_images[i].@TITLE;
  432. my_label.autoSize = TextFieldAutoSize.LEFT;
  433. my_labels_array.push(my_label);
  434.  
  435. }
  436.  
  437. my_preloader = new TextField();
  438. my_preloader.text="Loading";
  439. my_preloader.autoSize = TextFieldAutoSize.CENTER;
  440. my_preloader.x = (stage.stageWidth - my_preloader.width)/2;
  441. my_preloader.y = (stage.stageHeight - my_preloader.height)/2;
  442. addChild(my_preloader);
  443.  
  444. }
  445.  
  446. //-------------------------------
  447. function onComplete(e:Event):void{
  448.  
  449. my_success_counter++;
  450. if (my_success_counter == my_total){
  451. startShow();
  452. }
  453.  
  454. var my_loaderInfo:LoaderInfo = LoaderInfo(e.target);
  455. my_loaderInfo.removeEventListener(Event.COMPLETE, onComplete);
  456.  
  457. }
  458.  
  459. //-------------------------------
  460. function startShow():void{
  461.  
  462. removeChild(my_preloader);
  463. my_preloader = null;
  464.  
  465. addChild(my_slideshow);
  466. my_slideshow.addChild(my_image_slides);
  467. my_slideshow.addChild(my_label_slides);
  468.  
  469. nextImage();
  470.  
  471. my_timer = new Timer(my_speed*1000);
  472. my_timer.addEventListener(TimerEvent.TIMER, timerListener);
  473. my_timer.start();
  474.  
  475. }
  476.  
  477. //-------------------------------
  478. function timerListener (e:TimerEvent):void{
  479.  
  480. hidePrev();
  481.  
  482. my_playback_counter++;
  483. if (my_playback_counter == my_total){
  484. my_playback_counter =0;
  485. }
  486.  
  487. nextImage();
  488.  
  489. }
  490. //-------------------------------
  491. function nextImage():void{
  492.  
  493. var my_image:Loader = Loader(my_loaders_array[my_playback_counter]);
  494. my_image_slides.addChild(my_image);
  495. my_image.x = (stage.stageWidth - my_image.width)/2;
  496. my_image.y = (stage.stageHeight - my_image.height)/2;
  497.  
  498. my_tweens_array[0] = new Tween(my_image,"alpha",Strong.easeOut,0,1,1,true);
  499.  
  500. var my_label:TextField = TextField(my_labels_array[my_playback_counter]);
  501. my_labels_slides.addChild(my_label);
  502. my_label.x = my_image.x;
  503. my_label.y = my_image.y + my_image.height;
  504.  
  505. my_tweens_array[1] = new Tween(my_label,"alpha",Strong.easeOut,0,1,1,true);
  506.  
  507. }
  508.  
  509.  
  510. //-------------------------------
  511. function hidePrev():void{
  512.  
  513. var my_image:Loader=Loader(my_image_slides.getChildAt(0));
  514. my_prev_tween = new Tween(my_image,"alpha",Strong.easeOut,1,0,1,true);
  515. my_prev_tween.addEventListener(TweenEvent.MOTION_FINISH, onFadeOut)
  516.  
  517. var my_label:TextField=TextField(my_label_slides.getChildAt(0));
  518. my_tweens_array[2] = new Tween(my_label,"alpha",Strong.easeOut,1,0,1,true);
  519.  
  520. }
  521. //-------------------------------
  522.  
  523. function onFadeOut(e:TweenEvent):void{
  524. my_image_slides.removeChildAt(0);
  525. my_label_slides.removeChildAt(0);
  526. }
  527.  
  528. -----------------------------------------------------
  529. -----------------------------------------------------
  530. -----------------------------------------------------
  531. -----------------------------------------------------
  532. mport fl.transitions.Tween;
  533. import fl.transitions.easing.*;
  534.  
  535. my_mc.mask = mask_mc;
  536. var my_tween:Tween = new Tween(mask_mc,"x",Strong.easeOut,0,400,3, true);
  537.  
  538.  
  539. my_mc.mask = mask_mc;
  540.  
  541. my_mc.buttonMode=true;
  542. my_mc.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
  543. my_mc.addEventListener(MouseEvent.MOUSE_UP, onUp);
  544.  
  545. function onDown(e:MouseEvent):void{
  546. mask_mc.startDrag();
  547. }
  548.  
  549. function onUp(e:MouseEvent):void{
  550. mask_mc.stopDrag();
  551. }
  552.  
  553. -----------------------------------------------------
  554. -----------------------------------------------------
  555. -----------------------------------------------------
  556. -----------------------------------------------------
  557. var myArray:Array = new Array("Flash", "ActionScript", "Republic of Code");
  558. var myArray:Array = ["Flash", "ActionScript", "Republic of Code"];
  559.  
  560. myArray[6] = "Tutorial";
  561. myArray.push("Tutorials");
  562. myArray.splice(2,1);
  563. myArray.splice(1);
  564. myArray.pop();
  565. trace(myArray.length);
  566. myArray.reverse();
  567.  
  568. -----------------------------------------------------
  569. -----------------------------------------------------
  570. -----------------------------------------------------
  571. -----------------------------------------------------
  572. var mySharedObject:SharedObject = SharedObject.getLocal("republicofcode");
  573. mySharedObject.data.firstName = "John";
  574. mySharedObject.data.lastName = "Doe";
  575. mySharedObject.flush();
  576.  
  577. trace(mySharedObject.data.firstName);
  578. trace(mySharedObject.data.lastName);
  579.  
  580. mySharedObject.clear();
  581.  
  582. //-----------------------------
  583. var mySO:SharedObject = SharedObject.getLocal("republicofcode");
  584. logo_mc.x = mySO.data.my_x;
  585. logo_mc.y = mySO.data.my_y;
  586. if (!mySO.data.my_y) {
  587. logo_mc.x = 150;
  588. logo_mc.y = 100;
  589. }
  590. logo_mc.addEventListener (MouseEvent.MOUSE_DOWN, onDown);
  591. function onDown (e:MouseEvent):void {
  592. var my_mc = e.target;
  593. my_mc.startDrag ();
  594. }
  595. logo_mc.addEventListener (MouseEvent.MOUSE_UP, onUP);
  596. function onUP (e:MouseEvent):void {
  597. logo_mc.stopDrag ();
  598.  
  599. mySO.data.my_x = logo_mc.x;
  600. mySO.data.my_y = logo_mc.y;
  601. mySO.flush ();
  602.  
  603. }
  604. logo_mc.buttonMode=true;
  605.  
  606. -----------------------------------------------------
  607. -----------------------------------------------------
  608. -----------------------------------------------------
  609. -----------------------------------------------------
  610.  
  611. import flash.filters.*;
  612.  
  613. var myBlur:BlurFilter = new BlurFilter();
  614. var myGlow:GlowFilter = new GlowFilter();
  615. my_mc.filters = [myBlur, myGlow];
  616.  
  617. my.filters = [];
  618. //----------------------------
  619. import flash.filters.*;
  620.  
  621. var myGlow:GlowFilter = new GlowFilter();
  622. myGlow.alpha=0.5;
  623. my_mc.filters = [myGlow];
  624.  
  625. //----------------------------
  626. import flash.filters.*;
  627.  
  628. var myBlur:BlurFilter = new BlurFilter();
  629. myBlur.quality = 3;
  630. myBlur.blurX = 10;
  631. myBlur.blurY = 10;
  632. my_mc.filters = [myBlur];
  633. //----------------------------
  634. import flash.filters.*;
  635.  
  636. var myGlow:GlowFilter = new GlowFilter();
  637. myGlow.inner=true;
  638. myGlow.color = 0x000000;
  639. myGlow.blurX = 20;
  640. myGlow.blurY = 20;
  641. my_mc.filters = [myGlow];
  642.  
  643. //----------------------------
  644. import flash.filters.*;
  645.  
  646. var myBevel:BevelFilter = new BevelFilter();
  647. myBevel.type = BitmapFilterType.FULL;
  648. myBevel.distance = 10;
  649. myBevel.highlightColor = 0xFF0000;
  650. myBevel.shadowColor = 0xFFFF00;
  651. myBevel.blurX = 20;
  652. myBevel.blurY = 20;
  653. my_mc.filters = [myBevel];
  654.  
  655. //----------------------------
  656. import flash.filters.*;
  657.  
  658. var myShadow:DropShadowFilter = new DropShadowFilter();
  659. myShadow.distance = 10;
  660. myShadow.color = 0xFF0000;
  661. myShadow.blurX = 10;
  662. myShadow.blurY = 10;
  663. myShadow.quality = 3;
  664. my_mc.filters = [myShadow];
  665.  
  666. -----------------------------------------------------
  667. -----------------------------------------------------
  668. -----------------------------------------------------
  669. -----------------------------------------------------
  670.  
  671. <?xml version="1.0" encoding="utf-8"?>
  672. <PLAYLIST THUMBS_X="10" THUMBS_Y="10" THUMB_WIDTH="125" THUMB_HEIGHT="70" VIDEO_X="300" VIDEO_Y="10" >
  673. <VIDEO TITLE="Whistle Stop Train Tour" THUMB="thumbs/thumb1.jpg" URL="video/video1.flv"/>
  674. <VIDEO TITLE="Obama Weekly Address" THUMB="thumbs/thumb2.jpg" URL="video/video2.flv"/>
  675. <VIDEO TITLE="Lincoln Memorial Concert" THUMB="thumbs/thumb3.jpg" URL="video/video3.flv"/>
  676. </PLAYLIST>
  677.  
  678.  
  679. //---------------------------
  680. import fl.video.*;
  681.  
  682. var thumb_width:Number;
  683. var thumb_height:Number;
  684. var thumbs_x:Number;
  685. var thumbs_y:Number;
  686. var video_x:Number;
  687. var video_y:Number;
  688. var my_videos:XMLList;
  689. var my_total:Number;
  690.  
  691. var main_container:Sprite;
  692. var thumbs:Sprite;
  693. var titles:Sprite;
  694. var my_player:FLVPlayback;
  695.  
  696. //---------------------------
  697. var myXMLLoader:URLLoader = new URLLoader();
  698. myXMLLoader.load(new URLRequest("playlist.xml"));
  699. myXMLLoader.addEventListener(Event.COMPLETE, processXML);
  700.  
  701. //---------------------------
  702. function processXML (e:Event):void {
  703. var myXML:XML = new XML(e.target.data);
  704.  
  705. thumb_width = myXML.@THUMB_WIDTH;
  706. thumb_height = myXML.@THUMB_HEIGHT;
  707. thumbs_x = myXML.@THUMBS_X;
  708. thumbs_y = myXML.@THUMBS_Y;
  709. video_x = myXML.@VIDEO_X;
  710. video_y = myXML.@VIDEO_Y;
  711. my_videos = myXML.VIDEO;
  712. my_total = my_videos.length();
  713.  
  714. makeContainers ();
  715. callThumbs ();
  716. makePlayer();
  717.  
  718. }
  719.  
  720.  
  721. //---------------------------
  722. function makeContainers ():void {
  723. main_container = new Sprite();
  724. addChild (main_container);
  725.  
  726. thumbs = new Sprite();
  727. thumbs.addEventListener(MouseEvent.CLICK, playVideo);
  728. thumbs.addEventListener(MouseEvent.MOUSE_OVER, onOver);
  729. thumbs.addEventListener(MouseEvent.MOUSE_OUT, onOut);
  730. thumbs.x = thumbs_x;
  731. thumbs.y = thumbs_y;
  732. thumbs.buttonMode = true;
  733. main_container.addChild (thumbs);
  734.  
  735. titles = new Sprite();
  736. titles.x = thumbs_x;
  737. titles.y = thumbs_y;
  738. main_container.addChild (titles);
  739. }
  740.  
  741. //---------------------------
  742. function callThumbs():void{
  743. for (var i:Number = 0; i < my_total; i++){
  744.  
  745. var thumb_url = my_videos[i].@THUMB;
  746. var thumb_loader = new Loader();
  747. thumb_loader.name = i;
  748. thumb_loader.load(new URLRequest(thumb_url));
  749. thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);
  750. thumb_loader.y = (thumb_height+10)*i;
  751.  
  752. var thumb_title = my_videos[i].@TITLE;
  753. var title_txt:TextField = new TextField();
  754. title_txt.text = thumb_title;
  755. title_txt.y = thumb_loader.y;
  756. title_txt.x = thumb_width + 10;
  757. title_txt.width = thumb_width;
  758. title_txt.height = thumb_height;
  759. title_txt.wordWrap = true;
  760. titles.addChild(title_txt);
  761.  
  762. }
  763. }
  764.  
  765. //---------------------------
  766. function thumbLoaded(e:Event):void{
  767. var my_thumb:Loader = Loader(e.target.loader);
  768. thumbs.addChild(my_thumb);
  769. }
  770.  
  771. //---------------------------
  772. function makePlayer():void{
  773. my_player = new FLVPlayback();
  774. my_player.skin = "SkinOverPlaySeekMute.swf";
  775. my_player.skinBackgroundColor = 0xAEBEFB;
  776. my_player.skinBackgroundAlpha = 0.5;
  777.  
  778. my_player.x = video_x;
  779. my_player.y = video_y;
  780. my_player.width = 480;
  781. my_player.height = 270;
  782.  
  783. main_container.addChild(my_player);
  784. my_player.source = my_videos[0].@URL;
  785. }
  786.  
  787. //---------------------------
  788. function playVideo(e:MouseEvent):void{
  789. var video_url = my_videos[e.target.name].@URL;
  790. my_player.source = video_url;
  791. }
  792.  
  793. //---------------------------
  794. function onOver (e:MouseEvent):void{
  795. var my_thumb:Loader = Loader(e.target);
  796. my_thumb.alpha = 0.5;
  797. }
  798.  
  799. //---------------------------
  800. function onOut (e:MouseEvent):void{
  801. var my_thumb:Loader = Loader (e.target);
  802. my_thumb.alpha = 1;
  803. }
  804.  
  805. -----------------------------------------------------
  806. -----------------------------------------------------
  807. -----------------------------------------------------
  808. -----------------------------------------------------
  809. var my_menu:ContextMenu = new ContextMenu();
  810. my_menu.hideBuiltInItems();
  811. contextMenu = my_menu;
  812.  
  813. //------------------------
  814. var my_menu:ContextMenu = new ContextMenu();
  815. my_menu.builtInItems.forwardAndBack = false;
  816. my_menu.builtInItems.loop = false;
  817. my_menu.builtInItems.play = false;
  818. my_menu.builtInItems.print = false;
  819. my_menu.builtInItems.quality = false;
  820. my_menu.builtInItems.rewind = false;
  821. my_menu.builtInItems.save = false;
  822. my_menu.builtInItems.zoom = false;
  823. contextMenu = my_menu;
  824.  
  825. //------------------------
  826. var my_menu:ContextMenu = new ContextMenu();
  827. my_menu.hideBuiltInItems();
  828.  
  829. var my_notice = new ContextMenuItem("Republic of Code");
  830. my_menu.customItems.push(my_notice);
  831.  
  832. contextMenu = my_menu;
  833. //------------------------
  834.  
  835. var my_menu:ContextMenu = new ContextMenu();
  836. my_menu.hideBuiltInItems();
  837.  
  838. var my_notice = new ContextMenuItem("Republic of Code");
  839. var my_email = new ContextMenuItem("[email protected]");
  840. var my_copyright = new ContextMenuItem("Copyright - 2009");
  841. my_menu.customItems.push(my_notice, my_email, my_copyright);
  842.  
  843. contextMenu = my_menu;
  844. //------------------------
  845.  
  846. var my_menu:ContextMenu = new ContextMenu();
  847. my_menu.hideBuiltInItems();
  848.  
  849. var my_notice = new ContextMenuItem("Republic of Code");
  850. var my_email = new ContextMenuItem("[email protected]");
  851. var my_copyright = new ContextMenuItem("Copyright - 2009");
  852.  
  853. my_copyright.enabled = false;
  854. my_copyright.separatorBefore = true;
  855.  
  856. my_menu.customItems.push(my_notice, my_email, my_copyright);
  857.  
  858. contextMenu = my_menu;
  859. //------------------------
  860.  
  861. var my_menu:ContextMenu = new ContextMenu();
  862. my_menu.hideBuiltInItems();
  863.  
  864. var my_notice = new ContextMenuItem("Republic of Code");
  865. var my_email = new ContextMenuItem("[email protected]");
  866. var my_copyright = new ContextMenuItem("Copyright - 2009");
  867.  
  868. my_copyright.enabled = false;
  869. my_copyright.separatorBefore = true;
  870.  
  871. function openLink(e:ContextMenuEvent):void{
  872. navigateToURL(new URLRequest("http://www.republicofcode.com"));
  873. }
  874. my_notice.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openLink);
  875.  
  876. my_menu.customItems.push(my_notice, my_email, my_copyright);
  877.  
  878. contextMenu = my_menu;
Advertisement
Add Comment
Please, Sign In to add comment