记得忘记 发表于 2008-10-12 02:32

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

在那紧张地做了一个半小时没做完。。。
pingpong.swf.rar 改名为 pingpong.swf即可..

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    creationComplete="init()"       
        >
        <mx:Script>
                <![CDATA[
                        import mx.core.UIComponent;
                        import mx.controls.Button;
                        import mx.controls.TextArea;
                        import mx.controls.Alert;
                        import mx.containers.Canvas;
                        public var gameStarted:Boolean=false;
                        public var curX:Number=200;
                        public var curY:Number=200;
                        public var angle:int=0;
                        public var gameArea:Sprite;
                        public var speed:Number;
                        public var LEN:Number=100;
                        public function init():void{
                                gameArea=new Sprite();
                                var uc:UIComponent=new UIComponent();
                                                       
                                gameArea.graphics.beginFill(0xff0000,1);
                                gameArea.graphics.lineStyle(2,0xff0000);
                                gameArea.graphics.moveTo(200,100);
                                gameArea.graphics.lineTo(400,400);
                                gameArea.graphics.drawCircle(200,200,10);
                                gameArea.graphics.endFill();
                                this.addEventListener(Event.ENTER_FRAME,enterFrame);
                               
                                uc.addChild(gameArea);
                                addChild(uc);
                        }
                        public function startGame():void{
                                speed=5;
                                gameStarted=true;
                                angle=Math.random()*360;
                                curX=200;
                                curY=200;
                                btn.visible=false;
                        }
                        private function drawBG():void{
                                gameArea.graphics.lineStyle(0);
                                gameArea.graphics.beginFill(0x434550,1);
                                gameArea.graphics.drawRect(0,0,400,400);
                                gameArea.graphics.endFill();
                        }
                        private function drawline(curx:Number,cury:Number):void{
                                gameArea.graphics.lineStyle(2,0xff0000);//beginFill(0x4543ef,1);
                                gameArea.graphics.moveTo(curx,0);
                                gameArea.graphics.lineTo(curx+LEN,0);
                                gameArea.graphics.moveTo(curx,400);
                                gameArea.graphics.lineTo(curx+LEN,400);
                                gameArea.graphics.moveTo(0,cury);
                                gameArea.graphics.lineTo(0,cury+LEN);
                                gameArea.graphics.moveTo(400,cury);
                                gameArea.graphics.lineTo(400,cury+LEN);
                                //2,0xff0000);
                                //gameArea.graphics.endFill();
                        }
                        private function drawBean(mousex:Number,mousey:Number):void{
                                if(curX>=400 || curY>=400 || curX<=0 || curY<=0){
                                        if(curY<=0 || curY>=400){
                                                //Alert.show(" "+angle);
                                                angle=-angle;
                                                //debug_txt.text+="degree "+angle+"dx "+Math.cos(Math.PI*(90-angle)/360)*speed+"\n";
                                                //debug_txt.text+="degree "+angle+"dy "+Math.cos(Math.PI*angle/360)*speed+"\n";
                                                //Alert.show(" "+angle);
                                                //fail();
                                //Alert.show(" "+Math.sin(Math.PI*angle/360)*speed);
                                //fail();
                                        }else{
                                                angle=180-angle;
                                                //debug_txt.text+="degree "+angle+"dx "+Math.cos(Math.PI*(90-angle)/360)*speed+"\n";
                                                //debug_txt.text+="degree "+angle+"dy "+Math.cos(Math.PI*angle/360)*speed+"\n";
                                        }
                                        //if(angle<=0)angle+=360;
                                        speed*=1.1;
                                        if(!hitTestWall(mousex,mousey,curX,curY)){
                                                fail();
                                                return;
                                        }
                                }
                                curX+=Math.cos(Math.PI*angle/180)*speed;
                                curY-=Math.cos(Math.PI*(90-angle)/180)*speed;
                               
                                if(curX>=400)curX=400;
                                if(curX<=0)curX=0;
                                if(curY<=0)curY=0;
                                if(curY>=400)curY=400;
                                //gameArea.graphics.lineStyle(1);
                                gameArea.graphics.beginFill(0xfffe00,1);
                                gameArea.graphics.drawCircle(curX,curY,3);
                                gameArea.graphics.endFill();
                        }
                        private function hitTestWall(mx:Number,my:Number,cx:Number,cy:Number):Boolean{
                                return (
                                        ( (cx>=400 || cx<=0) && cy>=my && cy<=my+LEN) ||
                                        ( (cy>=400 || cy<=0) && cx>=mx && cx<=mx+LEN)
                                );
                        }
                        private function fail():void{
                                gameArea.graphics.clear();
                                btn.visible=true;
                                gameStarted=false;
                                //this.removeEventListener(Event.ENTER_FRAME,enterFrame);
                        }
                        public function enterFrame(e:Event):void{
                                if(!gameStarted)
                                        return;
                                gameArea.graphics.clear();
                                //gameArea.graphics.beginFill(0x4543ef,1);
                                var curx:Number=this.mouseX;
                                var cury:Number=this.mouseY;
                                drawBG();
                                drawBean(curx,cury);
                                drawline(curx,cury);
                                //gameArea.graphics.endFill();
                        }
                       
                       
                ]]>
        </mx:Script>
       
        <mx:Button label="Begin." width="120" height="30" x="100" y="100" id="btn" click="startGame()" />
        <!--<mx:TextArea id="debug_txt" x="500" y="20" width="300" height="400" />-->
</mx:Application>

爱情显微镜 发表于 2008-10-14 11:15

这是什么呀??

chjwins 发表于 2008-10-14 12:56

C++:handshake:

Isabella 发表于 2008-10-14 16:00

你平时d水平哪里去了

记得忘记 发表于 2008-10-14 18:46

通过了。。。但待遇。。。

记得忘记 发表于 2008-10-14 18:46

原帖由 chjwins 于 2008-10-14 12:56 发表 https://www.gdutbbs.com/images/common/back.gif
C++:handshake:
不是C++。

onionhelp 发表于 2008-10-15 09:46

呵呵,是flash 麽。

andylan 发表于 2008-10-18 13:49

类似xsl

sasalin 发表于 2008-10-18 16:21

.....

Isabella 发表于 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

iptton 发表于 2011-11-17 01:07

LS,3年前的帖都被你挖上来了。。。
页: [1]
查看完整版本: [flex]浠婂ぉ闈㈣瘯瑕佸仛鐨勪笢瑗