Android Game Development _ Basic Environment get code
Last Update:2016-01-22
Source: Internet
Author: User
<span id="Label3"></p><pre><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">class</span></span>Pinball<span style="color: #0000ff;"><span style="color: #0000ff;">extends</span></span><span style="color: #000000;"><span style="color: #000000;">activity{</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">tableheight; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">tablewidth; Random Random</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">Random (); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">bezel size and coordinates</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Final</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>Racket_width = 70<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Final</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>Racket_height = 20<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">rackety; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">racketx; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Sphere size, speed, coordinates</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Final</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>BALLR = 12<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">ballx; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">ballY; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>Vy = 3<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">generates a ratio (between -0.5~0.5) for generating random directions</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Double</span></span>Xyrate = random.nextdouble ()-0.5<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>Vx = (<span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>) (Vy * 2 *<span style="color: #000000;"><span style="color: #000000;">xyrate); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">game On-time Flag</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Boolean</span></span>Islose =<span style="color: #0000ff;"><span style="color: #0000ff;">false</span></span><span style="color: #000000;"><span style="color: #000000;">; @Override</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">protected</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">onCreate (Bundle Savedinstancestate) {</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">TODO auto-generated Method Stub</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Super</span></span><span style="color: #000000;"><span style="color: #000000;">. OnCreate (savedinstancestate); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">no title in full screen</span></span><span style="color: #000000;"><span style="color: #000000;">requestwindowfeature (window.feature_no_title); GetWindow (). setflags (WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREE N); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">setting up the game interface</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Final</span></span>Gameview game =<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span>Gameview (<span style="color: #0000ff;"><span style="color: #0000ff;"></span> this</span><span style="color: #000000;"><span style="color: #000000;">); Setcontentview (game); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Get Desktop size</span></span>WindowManager Manager =<span style="color: #000000;"><span style="color: #000000;">Getwindowmanager (); Display Display</span></span>=<span style="color: #000000;"><span style="color: #000000;">Manager.getdefaultdisplay (); Tableheight</span></span>=<span style="color: #000000;"><span style="color: #000000;">Display.getheight (); Tablewidth</span></span>=<span style="color: #000000;"><span style="color: #000000;">Display.getwidth (); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Initialize coordinates based on the size of the desktop obtained</span></span><span style="color: #000000;"><span style="color: #000000;">Initxy (); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Redraw</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Final</span></span>Handler Handler =<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">Handler () {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">handlemessage (message Message) {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(message.what = = 0x123<span style="color: #000000;"><span style="color: #000000;">) {game.invalidate (); } } }; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Final</span></span>Timer timer =<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">Timer (); Timer.schedule (</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">timertask () {@Override</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">Run () {</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">left</span> and right border</span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(ballx < 0 | | (BALLX + Ballr ><span style="color: #000000;"><span style="color: #000000;">tablewidth)) {Vx</span></span>= -<span style="color: #000000;"><span style="color: #000000;">Vx; } </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">over the lower border and not caught by the racket</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>((ballY + Ballr > Rackety) && (ballx + Ballr < Racketx | | ballx > RACKETX +<span style="color: #000000;"><span style="color: #000000;">racket_width)) {timer.cancel (); Islose</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">true</span></span><span style="color: #000000;"><span style="color: #000000;">; } </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;">to <span style="color: #008000;">reach the top when the ball is beating back or bouncing</span> .</span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(ballY < 0 | | (ballY + Ballr > rackety && ballx > Racketx && ballx < Racketx +<span style="color: #000000;"><span style="color: #000000;">racket_width)) {Vy</span></span>= -<span style="color: #000000;"><span style="color: #000000;">Vy; } ballx</span></span>+=<span style="color: #000000;"><span style="color: #000000;">Vx; BallY</span></span>+=<span style="color: #000000;"><span style="color: #000000;">Vy; Handler.sendemptymessage (</span></span>0x123<span style="color: #000000;"><span style="color: #000000;">); } }, </span></span>0, 10<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">add listener to Game view</span></span>Game.setontouchlistener (<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">Ontouchlistener () {@Override</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">Boolean</span></span><span style="color: #000000;"><span style="color: #000000;">onTouch (View v, motionevent event) {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>x = (<span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">) Event.getx (); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>MID = Tablewidth/2<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Switch</span></span>(x > mid? 1:2<span style="color: #000000;"><span style="color: #000000;">) { </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> case</span>1<span style="color: #000000;"><span style="color: #000000;">: </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(racketx + Racket_width <<span style="color: #000000;"><span style="color: #000000;">Tablewidth) {racketx</span></span>+ = 10<span style="color: #000000;"><span style="color: #000000;">; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> break</span><span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> case</span>2<span style="color: #000000;"><span style="color: #000000;">: </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(racketx > 0<span style="color: #000000;"><span style="color: #000000;">) {racketx</span></span>-= 10<span style="color: #000000;"><span style="color: #000000;">; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> break</span><span style="color: #000000;"><span style="color: #000000;">; } game.invalidate (); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">true</span></span><span style="color: #000000;"><span style="color: #000000;">; } }); } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">initxy () {rackety</span></span>= tableHeight-80<span style="color: #000000;"><span style="color: #000000;">; Racketx</span></span>=<span style="color: #000000;"><span style="color: #000000;">Random.nextint (tablewidth); BALLX</span></span>=<span style="color: #000000;"><span style="color: #000000;">Random.nextint (tablewidth); BallY</span></span>= Random.nextint (10) + 20<span style="color: #000000;"><span style="color: #000000;">; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">class</span></span>Gameview<span style="color: #0000ff;"><span style="color: #0000ff;">extends</span></span><span style="color: #000000;"><span style="color: #000000;">view{</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Final</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">float</span></span>Text_size = 40<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span><span style="color: #000000;"><span style="color: #000000;">Gameview (context Context) {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Super</span></span><span style="color: #000000;"><span style="color: #000000;">(context); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">TODO auto-generated Constructor stub</span></span>Setfocusable (<span style="color: #0000ff;"><span style="color: #0000ff;">true</span></span><span style="color: #000000;"><span style="color: #000000;">); } @Override</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">protected</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">onDraw (canvas canvas) {paint paint</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">Paint (); Paint.setstyle (Paint.Style.FILL); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Game Over</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span><span style="color: #000000;"><span style="color: #000000;">(islose) {paint.settextsize (text_size); Paint.setcolor (color.red); Canvas.drawtext (</span></span>"Game over!", tablewidth/2-paint.gettextsize () * *, tableheight/2-paint.gettextsize ()/2<span style="color: #000000;"><span style="color: #000000;">, paint); } </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;">the <span style="color: #008000;">Game continues</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;">{paint.setcolor (color.blue); Canvas.drawcircle (ballx, ballY, ballr, paint); Paint.setcolor (color.green); Canvas.drawrect (racketx, rackety, racketx</span></span>+ racket_width, rackety +<span style="color: #000000;"><span style="color: #000000;">racket_height, paint); } } }}</span></span></pre><p><p></p></p><p><p> Android Game Development _ Basic Environment get code </p> </p></span>