实现为摇杆触摸后 角色移动
首先 var kong:boolean=false;
用这个来判断是否移动角色
nei.addEventListener(egret.TouchEvent.TOUCH_MOVE,onnei, this);
nei为摇杆中心可以动的小球
小球被点击后执行onnei事件
function onnei(e: egret.TouchEvent):void{
kong=true;
if(e.stageX<=440||e.stageY<=240){//fang zhi bie de di fang di ji hou tong yang cao zuo yao gan
var xz=e.stageX;
var xy=e.stageY;
//console.log("xxxxxx"+xz+"yyyyyyyyyyyy"+xy);
nei.x=e.stageX-360;//rang zuo biao hui dao yuan xin
nei.y=e.stageY-180;
var xx=nei.x-shpwai.x;
var zx=(xx)/100;
ang.run(e.stageY,180, e.stageX,360);//=Math.atan2(nei.y-shpwai.y,nei.x-shpwai.x);
p2.x=nei.x+360;
p2.y=nei.y+180;
p1.x=360;
p1.y=180;
// console.log(180-angle6);
console.log(sky.x+"sky.y"+sky.y);
// while(kong==true){
cont6();//}
//
var dist = egret.Point.distance(p1, p2);
/
//下面的是用来算小球的位置 而不是角色位置
//console.log(dist);
if(dist<=(100-40)){//e.stageY-nei.y>100){
var dx:number=nei.x-360;//xian zai de dian dao yuan xin de x ju li
var dy:number=nei.y-shpwai.y;//xian zai de dian dao yuan xin de y ju li
var dixy=Math.atan2(dy,dx);// qiu de shi shang mian x y de jia jiao
var dd=180*dixy/Math.PI;//jiang qiu de jiao du zhuan huan wei hu du
var cc= Math.cos(dd*Math.PI/180)*6;
console.log(cc+"//");
console.log(nei.x+".....................");
nei.x=nei.x;//如果在圆环内 小球的坐标等于鼠标当前坐标-小球初始坐标x
nei.y=nei.y;//如果在圆环内 小球的坐标等于鼠标当前坐标-小秋初始坐标y
}
else{
// this.ball.x = Math.cos(angle)*(this.circleRadius - this.ballRadius) + this.centerX;
nei.x=Math.cos(ang.jieguo)*(100-40);
nei.y=Math.sin(ang.jieguo)*(100-40);
// myScroller.viewport.scrollV = Math.sin(angle6)*(100-nei.y)+180+nei.y*10//纵向滚动的位置
// myScroller.viewport.scrollH =Math.cos(angle6)*(100-nei.x)+360+nei.x*10;//横向滚动的位置
}
}
其中将kong设置为true并开启了事件cont6
function cont6(){
if(kong==true){
console.log(jiaodu);
// this.removeChild(myScroller);
///
///
//想让小秋移动 需要sin cos角度 乘速度 再加小球x y
//想让小球不停移动需要加个定时器
sky.x=Math.cos(ang.jieguo)*10+sky.x;
sky.y=Math.sin(ang.jieguo)*10+sky.y;//Math.cos(ang.jieguo)*10
myScroller.viewport.scrollV =myScroller.viewport.scrollV+Math.sin(ang.jieguo)*10; //纵向滚动的位置
myScroller.viewport.scrollH =Math.cos(ang.jieguo)*10+myScroller.viewport.scrollH
// enemy.x =enemy.x+6; //纵向滚动的位置
// this.addChild(myScroller);
// timer.start();
}
用leavenei监听离开摇杆 将kong设置为false
nei.stage.addEventListener(egret.TouchEvent.TOUCH_END,leavenei, this);
下面是完整代码
var shpwai:egret.Shape = new egret.Shape();
//shpwai.x = 460;
// shpwai.y = 160;
shpwai.graphics.beginFill( 0x00ff00 );
shpwai.graphics.drawCircle( 360, 180, 100 );
shpwai.graphics.endFill();
this.addChild( shpwai );
var nei:egret.Shape = new egret.Shape();
// shp.x = 460;
// shp.y = 160;
var neix=360;
var neiy=180
nei.graphics.beginFill( 0xff0000);
nei.graphics.drawCircle( neix, neiy, 40 );
nei.graphics.endFill();
nei.touchEnabled=true;
this.addChild( nei );
//var angle6:number;
nei.addEventListener(egret.TouchEvent.TOUCH_MOVE,onnei, this);
nei.stage.addEventListener(egret.TouchEvent.TOUCH_END,leavenei, this);
function leavenei(){
//timer.stop();
kong=false;
}
//nei.stage.addEventListener(egret.TouchEvent.TOUCH_MOVE,onnei, this);
var p1:egret.Point=new egret.Point();
var p2:egret.Point=new egret.Point();
var timer:egret.Timer=new egret.Timer(1,0);
// timer.addEventListener(egret.TimerEvent.TIMER,cont6,this);
var jiaodu=180-ang.jieguo;
function cont6(){
if(kong==true){
console.log(jiaodu);
// this.removeChild(myScroller);
///
///
//想让小秋移动 需要sin cos角度 乘速度 再加小球x y
//想让小球不停移动需要加个定时器
sky.x=Math.cos(ang.jieguo)*10+sky.x;
sky.y=Math.sin(ang.jieguo)*10+sky.y;//Math.cos(ang.jieguo)*10
myScroller.viewport.scrollV =myScroller.viewport.scrollV+Math.sin(ang.jieguo)*10; //纵向滚动的位置
myScroller.viewport.scrollH =Math.cos(ang.jieguo)*10+myScroller.viewport.scrollH
// enemy.x =enemy.x+6; //纵向滚动的位置
// this.addChild(myScroller);
// timer.start();
}
}
//var angle:number = Math.atan2(e.stageY - 180, e.stageX - 360);
// console.log(angle+"666666666666666666666");
//var dist=egret.Point.distance(p1,p2);
function onnei(e: egret.TouchEvent):void{
kong=true;
if(e.stageX<=440||e.stageY<=240){//fang zhi bie de di fang di ji hou tong yang cao zuo yao gan
var xz=e.stageX;
var xy=e.stageY;
//console.log("xxxxxx"+xz+"yyyyyyyyyyyy"+xy);
nei.x=e.stageX-360;//rang zuo biao hui dao yuan xin
nei.y=e.stageY-180;
var xx=nei.x-shpwai.x;
var zx=(xx)/100;
ang.run(e.stageY,180, e.stageX,360);//=Math.atan2(nei.y-shpwai.y,nei.x-shpwai.x);
p2.x=nei.x+360;
p2.y=nei.y+180;
p1.x=360;
p1.y=180;
// console.log(180-angle6);
console.log(sky.x+"sky.y"+sky.y);
// while(kong==true){
cont6();//}
//
var dist = egret.Point.distance(p1, p2);
/
//下面的是用来算小球的位置 而不是角色位置
//console.log(dist);
if(dist<=(100-40)){//e.stageY-nei.y>100){
var dx:number=nei.x-360;//xian zai de dian dao yuan xin de x ju li
var dy:number=nei.y-shpwai.y;//xian zai de dian dao yuan xin de y ju li
var dixy=Math.atan2(dy,dx);// qiu de shi shang mian x y de jia jiao
var dd=180*dixy/Math.PI;//jiang qiu de jiao du zhuan huan wei hu du
var cc= Math.cos(dd*Math.PI/180)*6;
console.log(cc+"//");
console.log(nei.x+".....................");
nei.x=nei.x;//如果在圆环内 小球的坐标等于鼠标当前坐标-小球初始坐标x
nei.y=nei.y;//如果在圆环内 小球的坐标等于鼠标当前坐标-小秋初始坐标y
}
else{
// this.ball.x = Math.cos(angle)*(this.circleRadius - this.ballRadius) + this.centerX;
nei.x=Math.cos(ang.jieguo)*(100-40);
nei.y=Math.sin(ang.jieguo)*(100-40);
// myScroller.viewport.scrollV = Math.sin(angle6)*(100-nei.y)+180+nei.y*10//纵向滚动的位置
// myScroller.viewport.scrollH =Math.cos(angle6)*(100-nei.x)+360+nei.x*10;//横向滚动的位置
}
}
}
//
/
var xia:egret.Shape = new egret.Shape;
xia.graphics.beginFill( 16033 );
xia.graphics.drawRect( 80, 540, 60,60 );
xia.graphics.endFill();
xia.touchEnabled=true;
xia.addEventListener(egret.TouchEvent.TOUCH_TAP,bxia,this);
this.addChild(xia);//将bg添加到舞台上
function bxia(){
sky.y=sky.y-10;
}
/
// sky.texture=RES.getRes("hk1_png");
// console.log("cc");
var zuo:egret.Shape = new egret.Shape;
zuo.graphics.beginFill( 16033 );
zuo.graphics.drawRect( 6,500, 60, 60 );
zuo.graphics.endFill();
zuo.touchEnabled=true;
zuo.addEventListener(egret.TouchEvent.TOUCH_TAP,bzuo,this);
this.addChild(zuo);//将bg添加到舞台上
function bzuo(){
sky.x=sky.x+10;
}
function byou(){
sky.x=sky.x-10;
}
///
var button6:egret.Shape = new egret.Shape;
button6.graphics.beginFill( 16033 );
button6.graphics.drawRect( 260, 560, 60, 60 );
button6.graphics.endFill();
button6.touchEnabled=true;
button6.addEventListener(egret.TouchEvent.TOUCH_TAP,button,this);
this.addChild(button6);//将bg添加到舞台上
function button(){
sky.texture=RES.getRes("hk1_png");
console.log("cc");
/
/
//tian jia dong hua
var js:string="lp_json";
var da:string="6_png";
}
}