# 3D Fly-By-Wire

**URL:** https://forum.kirupa.com/t/3d-fly-by-wire/177091
**Category:** contests
**Created:** [January 30, 2006, 6:24am UTC](https://forum.kirupa.com/t/3d-fly-by-wire/177091 "2006-01-30T06:24:47Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![kidoo](https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/32.png) [@kidoo](https://forum.kirupa.com/u/kidoo)
#### Post date: [January 30, 2006, 6:24am UTC](https://forum.kirupa.com/t/3d-fly-by-wire/177091/1 "2006-01-30T06:24:47Z")

</div>

HeyAll.

_phew_

Just in time. Luv these komps but it’s first time to enter.  
Any comments welcome. Hopefully counted lines correctly… :pa:

Mission: You’re flying a stealth drone on recon over Afghan border-terrain. No ordinance, purely surveillance… ( “find Bin Ladin?”)

Objective: “Using cutting-edge Radar 3D Viewport you have to remote pilot the military’s latest prototype drone over enemy terrain at safe altitude. To acheive this mission you must stay within ground visual range, but without crashing (ie. onboard altimeter). This is a critical task in the WOT. Good Luck Soldier!” :gi:

```auto

_root.createEmptyMovieClip("land", 1); // 1
_root.createEmptyMovieClip("jet", 2).startDrag(true); // 2
var J:Array = [[25, -50, 0, 50, 90, 135, 50, -50, -135, -90, -50, 50, 0, -50, 50, 25, -25, -50], [240, -99, -150, -99, 30, 50, 99, 99, 50, 30, -99, 99, 75, 99, -99, -125, -125, -99]]; // 3
onEnterFrame= function() {
	jet.clear(); // 4
	jet.beginFill(0x666666); // 5
	jet.lineStyle(2, 3333333, land._alpha+50); // 6
	for (var i=1; i<18; i++) { // 7
		jet.lineTo((Math.cos((85+_xmouse)/120)*J[0]*-Math.sin((85+_xmouse)/120)*(Math.sin(_ymouse/300)*J[1]*))*(99/(99+(Math.cos((85+_xmouse)/120)*(Math.sin(_ymouse/300)*J[1]*)+Math.sin((85+_xmouse)/120)*J[0]*)/2+99)), random(2)+Math.cos(_ymouse/300)*J[1]**(99/(99+(Math.cos((85+_xmouse)/120)*(Math.sin(_ymouse/300)*J[1]*)+Math.sin((85+_xmouse)/120)*J[0]*)/2+99))); // 8
   }
	land._alpha= (120-J[0][0]); // 9
	land._y=	(J[1][0]-(land._alpha*1.3)-_ymouse/4) // 10
	land._rotation= (-9+_xmouse/30); // 11
	land._xscale=land._yscale= (99+(_ymouse/9))+(land._y/5); // 12
	J[1][0] = (J[1][0]>0) ? J[1][0]+int(random(6)+6-_ymouse/27) : "C R A S H"+chr(13)+"GAME OVER"; // 13
	jet.createTextField("A", 1, -42, -10, 99, 99).text = "A="+J[1][0]; // 14
	if (J[0][0]<116 && (J[1][0]>0)) { landscape(J[0][0]+=2); } else { J[0][0]=0; land.clear(); } // 15+16+17
}
function landscape(n) {
   land.lineStyle(0, 0xB0A000, 99); // 18
   for (var b=0; b<Stage.width+20; b++) { // 19
		land.lineTo(-20+b+random(5), (n*(n/20))+Math.sin((land._yscale/9)+b*Math.PI/180)*(40-_xmouse/7)); // 20
		if ((b%40)==0 && J[0][0]==2) { // 21
			for (var c=0; c<Stage.height; c++){ // 22
				land.lineTo(-20+b+random(5)+(n*(n/20))+Math.sin(c*Math.PI/180)*20, c+random(5)+(n*(n/20))+Math.sin((land._yscale/9)+b*Math.PI/180)*(40-_xmouse/7)); // 23
			}
		land.moveTo(-20+b+random(5), (n*(n/20))+Math.sin((land._yscale/9)+b*Math.PI/180)*(40-_xmouse/7)); // 24
		}
   }
	land.moveTo(-20, ((n+3)*((n+3)/20))+Math.sin(b*Math.PI/180)*(40-_xmouse/7)); // 25
}

```
