📄 movecontrolfw.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 + -