工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 5560|回复: 14

[flex]浠婂ぉ闈㈣瘯瑕佸仛鐨勪笢瑗

[复制链接]
发表于 2008-10-12 02:32 | 显示全部楼层 |阅读模式
在那紧张地做了一个半小时没做完。。。
pingpong.swf.rar 改名为 pingpong.swf即可..


  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
  3.     creationComplete="init()"       
  4.         >
  5.         <mx:Script>
  6.                 <![CDATA[
  7.                         import mx.core.UIComponent;
  8.                         import mx.controls.Button;
  9.                         import mx.controls.TextArea;
  10.                         import mx.controls.Alert;
  11.                         import mx.containers.Canvas;
  12.                         public var gameStarted:Boolean=false;
  13.                         public var curX:Number=200;
  14.                         public var curY:Number=200;
  15.                         public var angle:int=0;
  16.                         public var gameArea:Sprite;
  17.                         public var speed:Number;
  18.                         public var LEN:Number=100;
  19.                         public function init():void{
  20.                                 gameArea=new Sprite();
  21.                                 var uc:UIComponent=new UIComponent();
  22.                                                        
  23.                                 gameArea.graphics.beginFill(0xff0000,1);
  24.                                 gameArea.graphics.lineStyle(2,0xff0000);
  25.                                 gameArea.graphics.moveTo(200,100);
  26.                                 gameArea.graphics.lineTo(400,400);
  27.                                 gameArea.graphics.drawCircle(200,200,10);
  28.                                 gameArea.graphics.endFill();
  29.                                 this.addEventListener(Event.ENTER_FRAME,enterFrame);
  30.                                
  31.                                 uc.addChild(gameArea);
  32.                                 addChild(uc);
  33.                         }
  34.                         public function startGame():void{
  35.                                 speed=5;
  36.                                 gameStarted=true;
  37.                                 angle=Math.random()*360;
  38.                                 curX=200;
  39.                                 curY=200;
  40.                                 btn.visible=false;
  41.                         }
  42.                         private function drawBG():void{
  43.                                 gameArea.graphics.lineStyle(0);
  44.                                 gameArea.graphics.beginFill(0x434550,1);
  45.                                 gameArea.graphics.drawRect(0,0,400,400);
  46.                                 gameArea.graphics.endFill();
  47.                         }
  48.                         private function drawline(curx:Number,cury:Number):void{
  49.                                 gameArea.graphics.lineStyle(2,0xff0000);//beginFill(0x4543ef,1);
  50.                                 gameArea.graphics.moveTo(curx,0);
  51.                                 gameArea.graphics.lineTo(curx+LEN,0);
  52.                                 gameArea.graphics.moveTo(curx,400);
  53.                                 gameArea.graphics.lineTo(curx+LEN,400);
  54.                                 gameArea.graphics.moveTo(0,cury);
  55.                                 gameArea.graphics.lineTo(0,cury+LEN);
  56.                                 gameArea.graphics.moveTo(400,cury);
  57.                                 gameArea.graphics.lineTo(400,cury+LEN);
  58.                                 //2,0xff0000);
  59.                                 //gameArea.graphics.endFill();
  60.                         }
  61.                         private function drawBean(mousex:Number,mousey:Number):void{
  62.                                 if(curX>=400 || curY>=400 || curX<=0 || curY<=0){
  63.                                         if(curY<=0 || curY>=400){
  64.                                                 //Alert.show(" "+angle);
  65.                                                 angle=-angle;
  66.                                                 //debug_txt.text+="degree "+angle+"dx "+Math.cos(Math.PI*(90-angle)/360)*speed+"\n";
  67.                                                 //debug_txt.text+="degree "+angle+"dy "+Math.cos(Math.PI*angle/360)*speed+"\n";
  68.                                                 //Alert.show(" "+angle);
  69.                                                 //fail();
  70.                                 //Alert.show(" "+Math.sin(Math.PI*angle/360)*speed);
  71.                                 //fail();
  72.                                         }else{
  73.                                                 angle=180-angle;
  74.                                                 //debug_txt.text+="degree "+angle+"dx "+Math.cos(Math.PI*(90-angle)/360)*speed+"\n";
  75.                                                 //debug_txt.text+="degree "+angle+"dy "+Math.cos(Math.PI*angle/360)*speed+"\n";
  76.                                         }
  77.                                         //if(angle<=0)angle+=360;
  78.                                         speed*=1.1;
  79.                                         if(!hitTestWall(mousex,mousey,curX,curY)){
  80.                                                 fail();
  81.                                                 return;
  82.                                         }
  83.                                 }
  84.                                 curX+=Math.cos(Math.PI*angle/180)*speed;
  85.                                 curY-=Math.cos(Math.PI*(90-angle)/180)*speed;
  86.                                
  87.                                 if(curX>=400)curX=400;
  88.                                 if(curX<=0)curX=0;
  89.                                 if(curY<=0)curY=0;
  90.                                 if(curY>=400)curY=400;
  91.                                 //gameArea.graphics.lineStyle(1);
  92.                                 gameArea.graphics.beginFill(0xfffe00,1);
  93.                                 gameArea.graphics.drawCircle(curX,curY,3);
  94.                                 gameArea.graphics.endFill();
  95.                         }
  96.                         private function hitTestWall(mx:Number,my:Number,cx:Number,cy:Number):Boolean{
  97.                                 return (
  98.                                         ( (cx>=400 || cx<=0) && cy>=my && cy<=my+LEN) ||
  99.                                         ( (cy>=400 || cy<=0) && cx>=mx && cx<=mx+LEN)
  100.                                 );
  101.                         }
  102.                         private function fail():void{
  103.                                 gameArea.graphics.clear();
  104.                                 btn.visible=true;
  105.                                 gameStarted=false;
  106.                                 //this.removeEventListener(Event.ENTER_FRAME,enterFrame);
  107.                         }
  108.                         public function enterFrame(e:Event):void{
  109.                                 if(!gameStarted)
  110.                                         return;
  111.                                 gameArea.graphics.clear();
  112.                                 //gameArea.graphics.beginFill(0x4543ef,1);
  113.                                 var curx:Number=this.mouseX;
  114.                                 var cury:Number=this.mouseY;
  115.                                 drawBG();
  116.                                 drawBean(curx,cury);
  117.                                 drawline(curx,cury);
  118.                                 //gameArea.graphics.endFill();
  119.                         }
  120.                        
  121.                        
  122.                 ]]>
  123.         </mx:Script>
  124.        
  125.         <mx:Button label="Begin." width="120" height="30" x="100" y="100" id="btn" click="startGame()" />
  126.         <!--<mx:TextArea id="debug_txt" x="500" y="20" width="300" height="400" />-->
  127. </mx:Application>

复制代码

pingpong.swf.rar

239.39 KB, 下载次数: 381

发表于 2008-10-14 11:15 | 显示全部楼层
这是什么呀??
回复

使用道具 举报

发表于 2008-10-14 12:56 | 显示全部楼层
C++:handshake:
回复

使用道具 举报

发表于 2008-10-14 16:00 | 显示全部楼层
你平时d水平哪里去了
回复

使用道具 举报

 楼主| 发表于 2008-10-14 18:46 | 显示全部楼层
通过了。。。但待遇。。。
回复

使用道具 举报

 楼主| 发表于 2008-10-14 18:46 | 显示全部楼层
原帖由 chjwins 于 2008-10-14 12:56 发表
C++:handshake:

不是C++。
回复

使用道具 举报

发表于 2008-10-15 09:46 | 显示全部楼层
呵呵,是flash 麽。
回复

使用道具 举报

发表于 2008-10-18 13:49 | 显示全部楼层
类似xsl
回复

使用道具 举报

发表于 2008-10-18 16:21 | 显示全部楼层
.....
回复

使用道具 举报

发表于 2008-10-18 16:28 | 显示全部楼层

回复 5楼 记得忘记 的帖子

会有更好的,可以54这个
回复

使用道具 举报

发表于 2008-10-18 23:16 | 显示全部楼层
楼主面试哪里要写这种东西啊?
回复

使用道具 举报

发表于 2008-10-27 21:25 | 显示全部楼层
居然给毕业生面这些,这些太专了, 只要有JAVA就入手了
回复

使用道具 举报

 楼主| 发表于 2008-10-27 22:19 | 显示全部楼层
不是校园招聘...
回复

使用道具 举报

头像被屏蔽
发表于 2011-11-13 17:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2011-11-17 01:07 | 显示全部楼层
LS,3年前的帖都被你挖上来了。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2024-5-4 12:51

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表