⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 movecontrolfw.as

📁 FlashEd 0.2 是个游戏引擎包
💻 AS
字号:
//class MoveControlFW {    var mode:String    var player:Object    var colFW:Object = null    var engine:Object    var radioPlayer:Number = 10    var topPlayer = 100    var stepPlayer = 5;    var fnUp	var fnDown	var fnLeft	var fnRight	var fnUpRight	var fnUpLeft	var fnDownRight	var fnDownLeft	var fnFly	var fnReleaseFly	var fnGravedad	var doGravedad = true	var fGravedad = 5	var tGravedad = 20	var aGravedad = 1.3	var pasoCounterFW = 0	var pasoCounterFWTOP = 11	var pasoCounterBK = 0	var pasoCounterBKTOP = 11	var doFW = false	var doBK = false	var nx	var ny	var nz	var map:Object	var doVolar = true	var vueloVolando = false	var vueloFuerza = 1	var vueloFuerzaMax = 10	var vueloAscenso = 1.3	var vueloAumenta = false	var puedoCambiarModo = true	var _ultimoRun = 0	var _cambiarModelo = ""		function MoveControlFW(p,cFW, en, rp, sp, m){	    player = p	    if (cFW != null && cFW != undefined){		colFW = cFW	    }	    engine = en	    if(rp!= null && rp != undefined){		radioPlayer = rp	    }	    if(sp!= null && sp != undefined){		stepPlayer = sp	    }	    if(m!=null && m!=undefined){		map = m	    }	    //Key.addListener(this)	    fnUp = moveFW1	    fnDown = moveBK1	    fnRight = rotateRight1	    fnLeft = rotateLeft1	    fnUpRight = mFWrR	    fnUpLeft = mFWrL	    fnDownRight = mBKrR	    fnDownLeft = mBKrL	    fnFly = fly1	    fnReleaseFly = releaseFly1	    fnGravedad = gravedad1	}    function setPlayer(p){	player = p    }    function moveFW1 (ox,oy,oz, co, cr){	doFW = true	var res = colFW.checkFront(co, cr, map, radioPlayer+stepPlayer, {x:ox, y:oy, z:oz});	if (res.x == true) {	    nx = co.x+(Math.cos(cr.y)*(stepPlayer));	}	if (res.z == true) {	    nz = co.z+(Math.sin(cr.y)*(stepPlayer));	}    }    function moveBK1(ox,oy,oz, co,cr){	doBK = true	var res = colFW.checkBack(co, cr, map, radioPlayer+stepPlayer, {x:ox, y:oy, z:oz});	if (res.x == true) {	    nx = co.x-(Math.cos(cr.y)*(stepPlayer));	}	if (res.z == true) {	    nz = co.z-(Math.sin(cr.y)*(stepPlayer));	}    }    function mFWrR (ox,oy,oz, co, cr){	moveFW1(ox,oy,oz, co, cr)	rotateRight1(ox,oy,oz, co, cr)    }    function mFWrL (ox,oy,oz, co, cr){	moveFW1(ox,oy,oz, co, cr)	rotateLeft1(ox,oy,oz, co, cr)    }    function mBKrR (ox,oy,oz, co, cr){	moveBK1(ox,oy,oz, co, cr)	rotateRight1(ox,oy,oz, co, cr)    }    function mBKrL (ox,oy,oz, co, cr){	moveBK1(ox,oy,oz, co, cr)	rotateLeft1(ox,oy,oz, co, cr)    }    function fly1 (ox,oy,oz, co, cr){	//trace("x"+vueloFuerza)	if(vueloVolando==false){	    vueloVolando = true	    vueloFuerza = 1	}	if (vueloFuerza<vueloFuerzaMax){	    vueloFuerza *= vueloAscenso	    vueloAumenta = true	} else {	    vueloAumenta = false	}	var res = colFW.checkUp(co, cr, map, topPlayer, {x:ox, y:oy, z:oz});	if (res.y == true) {	    //trace(vueloFuerza)	    ny -= vueloFuerza;	    fGravedad = 1;	}    }    function dir1(ox,oy,oz, co, cr){	player.setRotation(0, 90*Math.PI/180);	var cr = player.getRotation()	    moveFW1 (ox,oy,oz, co, cr)    }    function dir2(ox,oy,oz, co, cr){    	player.setRotation(0, 45*Math.PI/180);	var cr = player.getRotation()	    moveFW1 (ox,oy,oz, co, cr)    }    function dir3(ox,oy,oz, co, cr){    	player.setRotation(0, 0);	var cr = player.getRotation()	    moveFW1 (ox,oy,oz, co, cr)    }    function dir4(ox,oy,oz, co, cr){    	player.setRotation(0, -45*Math.PI/180);	var cr = player.getRotation()	    moveFW1 (ox,oy,oz, co, cr)    }    function dir5(ox,oy,oz, co, cr){	player.setRotation(0, -90*Math.PI/180);	var cr = player.getRotation()	    moveFW1 (ox,oy,oz, co, cr)    }    function dir6(ox,oy,oz, co, cr){	player.setRotation(0, -135*Math.PI/180);	var cr = player.getRotation()	    moveFW1 (ox,oy,oz, co, cr)    }    function dir7(ox,oy,oz, co, cr){	player.setRotation(0, 180*Math.PI/180);	var cr = player.getRotation()	    moveFW1 (ox,oy,oz, co, cr)    }    function dir8(ox,oy,oz, co, cr){	player.setRotation(0, 135*Math.PI/180);	var cr = player.getRotation()	    moveFW1 (ox,oy,oz, co, cr)    }    function releaseFly1(){	vueloVolando = false    }    function gravedad1(ox,oy,oz, co,cr){    	var res = colFW.checkDown(co, cr, map, (radioPlayer+(fGravedad*aGravedad)), {x:ox, y:oy, z:oz}, radioPlayer);	if (res.y == true) {	    ny = co.y+(fGravedad *= aGravedad);	    if (fGravedad>=tGravedad) {		fGravedad = tGravedad;	    }	} else {	    if (res.y != false) {		//es un numero		ny = res.y;	    }	    fGravedad = 1;	}    }    function rotateLeft1(){	player.rotateBy(0, 0.2);    }    function rotateRight1(){	player.rotateBy(0, -0.2);    }    function onKeyDown(){	puedoCambiarModo = false    }    function onKeyUp(){	//trace(Key.getCode())	puedoCambiarModo = true    }    function run(){	var isd = Key.isDown;	var c = engine.camera	    var co = player.getCoordinates()	    var cr = player.getRotation()	    nx = co.x	    ny = co.y	    nz = co.z	    var oy = Math.round(co.y/50);	var ox = Math.round(co.x/50);	var oz = Math.round(co.z/50);	doFW = false	    doBK = false	    if (isd(Key.UP) && isd(Key.RIGHT)) {		if(_cambiarModelo != "" && _ultimoRun !=1){		    this[_cambiarModelo]()		}else{		    _ultimoRun = 1		    fnUpRight(ox, oy, oz, co,cr)		}	    } else if (isd(Key.UP) && isd(Key.LEFT)) {		if(_cambiarModelo != "" && _ultimoRun !=2){		    this[_cambiarModelo]()		}else{		    _ultimoRun = 2		    fnUpLeft(ox, oy, oz, co,cr)		}	    } else if (isd(Key.DOWN) && isd(Key.RIGHT)) {		if(_cambiarModelo != "" && _ultimoRun !=3){		    this[_cambiarModelo]()		}else{		    _ultimoRun = 3		    fnDownRight(ox, oy, oz, co,cr)		}	    } else if (isd(Key.DOWN) && isd(Key.LEFT)) {		if(_cambiarModelo != "" && _ultimoRun !=4){		    this[_cambiarModelo]()		}else{		    _ultimoRun = 4		    fnDownLeft(ox, oy, oz, co,cr)		}	    } else if (isd(Key.UP)) {		if(_cambiarModelo != "" && _ultimoRun !=5){		    this[_cambiarModelo]()		}else{		    _ultimoRun = 5		    fnUp(ox, oy, oz, co,cr)		}	    } else if (isd(Key.DOWN)){		if(_cambiarModelo != "" && _ultimoRun !=6){		    this[_cambiarModelo]()		}else{		    _ultimoRun = 6		    fnDown(ox, oy, oz, co,cr)		}	    } else if(isd(Key.LEFT)){		if(_cambiarModelo != "" && _ultimoRun !=7){		    this[_cambiarModelo]()		}else{		    _ultimoRun = 7		    fnLeft(ox, oy, oz, co,cr)		}	    } else if (isd(Key.RIGHT)){		if(_cambiarModelo != "" && _ultimoRun !=8){		    this[_cambiarModelo]()		}else{		    _ultimoRun = 8		    fnRight(ox, oy, oz, co,cr)		}	    } else {		if(_cambiarModelo != ""){		    this[_cambiarModelo]		}		_ultimoRun = 0	    }	if(doFW){	    pasoCounterFW++;	    if (pasoCounterFW>=pasoCounterFWTOP) {		pasoCounterFW = 1;	    }	} else {	    pasoCounterFW = 0	}	if(doBK){	    pasoCounterBK++;	    if (pasoCounterBK>=pasoCounterBKTOP) {		pasoCounterBK = 1;	    }	} else {	    pasoCounterBK = 0	}	if(doGravedad == true){	    fnGravedad(ox, oy, oz, co,cr)	}	if(doVolar==true){	    if (isd(Key.SPACE)) {		fnFly(ox, oy, oz, co, cr)	    }else {		fnReleaseFly(ox, oy, oz, co,cr)	    }	}		//trace(nx +":" + ny + ":" + nz)	player.setCoordinates(nx, ny, nz);    }    function mode1 (){	_cambiarModelo = ""	fnUp = moveFW1	fnDown = moveBK1	fnRight = rotateRight1	fnLeft = rotateLeft1	fnUpRight = mFWrR	fnUpLeft = mFWrL	fnDownRight = mBKrR	fnDownLeft = mBKrL	fnFly = fly1	fnReleaseFly = releaseFly1	fnGravedad = gravedad1	mode = "mode1"    }    function mode2 (){	_cambiarModelo = ""	fnUp =dir1	fnDown = dir5	fnRight = dir3	fnLeft = dir7	fnUpRight = dir2	fnUpLeft = dir8	fnDownRight = dir4	fnDownLeft = dir6	fnFly = fly1	fnReleaseFly = releaseFly1	fnGravedad = gravedad1	mode = "mode2"    }    function mode3 (){	_cambiarModelo = ""	fnUp =dir7	fnDown = dir3	fnRight = dir1	fnLeft = dir5	fnUpRight = dir8	fnUpLeft = dir6	fnDownRight = dir2	fnDownLeft = dir4	fnFly = fly1	fnReleaseFly = releaseFly1	fnGravedad = gravedad1	mode = "mode3"    }    function changeModel(m){	_cambiarModelo = m    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -