|
发表于 2020-11-17 00:34:25
|
显示全部楼层
复制下面代码到通用触发器里自动执行就行了,每行后面有中文标注的代码内容你可以修改
- var deviationX=10 //指定X坐标偏差值,数字越小偏差越小
- var deviationY=10 //指定Y坐标偏差值,数字越小偏差越小
- keyRate=16 //按住某键加速, (16)shift键,可以修改指定的按键
- if(typeof clickswitch=="undefined"){
- clickswitch=false
- }
- if(typeof clicktime=="undefined"){
- clicktime=0
- }
- if(typeof actiontype=="undefined"){
- actiontype=false
- }
- if(IInput.mouseButton == 0 && IInput.down){ //0为鼠标左键,1为鼠标右键,2为鼠标中键
- clickX=Math.abs(RV.NowMap.getView().ox)+IInput.dx
- clickY=Math.abs(RV.NowMap.getView().oy)+IInput.dy
- running=false
- actiontype=true
- }
- if(actiontype==true && IInput.up){
- if(clicktime<=0){
- clicktime=20 //双击时间间隔
- }else{
- running=true
- }
- actiontype=false
- clickswitch=true
- }
- if(clickswitch==true){
- var xx=RV.NowMap.getActor().getUserRect().centerX-clickX //计算人物到点击坐标之间的X坐标差,修改此处可使人物到达点击位置的X坐标
- var yy=RV.NowMap.getActor().getUserRect().centerY-clickY //计算人物到点击坐标之间的Y坐标差,修改此处可使人物到达点击位置的Y坐标
- var angle=Math.atan(Math.abs(yy/xx))*180/Math.PI
- if(xx<=0 && yy>=0){
- if(angle>=10 && angle<=80){
- RV.NowMap.getActor().moveRightUp()
- }else if(angle>=0 && angle<10){
- RV.NowMap.getActor().moveRight()
- }else{
- RV.NowMap.getActor().moveUp()
- }
- }else if(xx>0 && yy>0){
- angle+=90
- if(angle>=100 && angle<=170){
- RV.NowMap.getActor().moveLeftUp()
- }else if(angle>=90 && angle<100){
- RV.NowMap.getActor().moveUp()
- }else{
- RV.NowMap.getActor().moveLeft()
- }
- }else if(xx>=0 && yy<=0){
- angle+=180
- if(angle>=190 && angle<=260){
- RV.NowMap.getActor().moveLeftDown()
- }else if(angle>=180 && angle<190){
- RV.NowMap.getActor().moveLeft()
- }else{
- RV.NowMap.getActor().moveDown()
- }
- }else if(xx<0 && yy<0){
- angle+=270
- if(angle>=280 && angle<=350){
- RV.NowMap.getActor().moveRightDown()
- }else if(angle>=270 && angle<280){
- RV.NowMap.getActor().moveDown()
- }else{
- RV.NowMap.getActor().moveRight()
- }
- }
- if(running==true || IInput.isKeyPress(keyRate)){
- RV.NowMap.getActor().speedUp()
- }
- if(Math.abs(xx)<=deviationX && Math.abs(yy)<=deviationY){
- clickswitch=false
- }
- }
- if(clicktime>0){
- clicktime-=1
- }
复制代码
|
|