вобщем получилось че хотел ток это так пробник надо как то уйти от имен. Подскажите что подкорректировать или более правильный способ реализации этой задачи.
Код AS1/AS2:
djostik.kontroler.x = djostik.kontrol_zone.width/2-djostik.kontroler.width/2;
djostik.kontroler.y = djostik.kontrol_zone.height/2-djostik.kontroler.height/2;
var massArray:Array;
massArray = [];
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
this.stage.addEventListener(TouchEvent.TOUCH_BEGIN, eventTouchBegin);
this.stage.addEventListener(TouchEvent.TOUCH_END, eventTouchEnd);
function eventTouchBegin(e:TouchEvent): void {
if(e.type == "touchBegin"){
if(e.target.name == "kontroler"){
startPosition = e.stageX-startPositionCenterKontrolerX;
this.stage.addEventListener(TouchEvent.TOUCH_MOVE, eventMove);
massArray[e.touchPointID] = "kontroler";
}
else if(e.target.name == "attack"){
eventAttack();
}
}
else{
}
}
function eventTouchEnd(e:TouchEvent): void {
n += 1;
ata.text = n +" : "+massArray[e.touchPointID];
if(massArray[e.touchPointID] == "kontroler"){
this.stage.removeEventListener(TouchEvent.TOUCH_MOVE, eventMove);
djostik.kontroler.x = startPositionCenterKontrolerX-djostik.kontroler.width;
delete massArray[e.touchPointID];
timer.stop();
}
}
function eventAttack(): void {
}
var centerJostika:Number = djostik.kontroler.x;
var moveActions:String = "center";
var timer:Timer = new Timer(10);
timer.addEventListener(TimerEvent.TIMER, eventTimer);
var rightEndPosition:Number = djostik.x+djostik.width;
var startPosition:Number;
var startPositionCenterKontrolerX:Number = djostik.x+djostik.kontroler.x+djostik.kontroler.width/2;
var n:Number = 0;
function eventMove(e:TouchEvent): void {
//function eventMove(e:MouseEvent): void {
if((e.stageX-startPosition > djostik.x) && (e.stageX-startPosition < rightEndPosition)){
djostik.kontroler.x = e.stageX-startPosition-djostik.kontroler.width;
if(djostik.kontroler.x < centerJostika/2){
moveActions = "left";
}
else if(djostik.kontroler.x > centerJostika+centerJostika/2){
moveActions = "right";
}
else{
moveActions = "center";
}
timer.start();
}
}
function eventTimer(e:TimerEvent):void{
switch(moveActions){
case "right":
telo.x +=5;
break;
case "left":
telo.x -=5;
break;
case "center":
timer.stop();
break;
}
}
Добавлено через 7 минут
Спасиб уже получилось завтра доковыряю до норм вида.