Scrollen und Tippen in iOS [Flash CS5]
| Beiträge: 478 Registriert: Aug 2007
| 06.10.2011, 07:55
Also ich verwende folgendes AS zu Scrollen eines MCs. Das funktioniert sehr gut, auch von der Perfomance her besser als andere AS. Das Problem ist, das sich in den MC der sich bewegen lässt Schaltflächen laden und ich diese beim Scrollen drücke. Die Schaltflächen löse ich mit einem MOUSE.UP aus und das Scrollskript wie gesagt hier:
Gibts für den Fall eine Allround-Lösung?
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | dragarea.addEventListener(MouseEvent.MOUSE_DOWN, mousedown);
dragarea.addEventListener(MouseEvent.MOUSE_UP, mouseup);
addEventListener(Event.ENTER_FRAME, scroller);
var isDragOK = true;
var dragging:Boolean = false;
var isMouseover = false;
function mousedown(e:MouseEvent):void
{
if (isDragOK)
{
dragging = true;
prevY = mcRect.y;
mcRect.startDrag(false, new Rectangle(0, dragarea.height - mcRect.height, 0, mcRect.height - dragarea.height));
}
}
function mouseup(e:Event):void
{
dragging = false;
mcRect.stopDrag();
}
var friction = 1;
var vel = 0;
var prevVel = 0;
var prevY = mcRect.y;
function scroller(e:Event)
{
if (dragging)
{
prevVel = vel;
vel = (mcRect.y - prevY)/3;
prevY = mcRect.y;
}
else
{
prevVel = vel;
if (vel > 0)
{
vel -= friction;
vel = Math.max(0,vel);
}
else if (vel < 0)
{
vel += friction;
vel = Math.min(vel,0);
}
mcRect.y += vel;
mcRect.y = Math.min(mcRect.y,0);
mcRect.y = Math.max(dragarea.height - mcRect.height,mcRect.y);
}
}
|
| | | Beiträge: 3000 Wohnort: Köln Registriert: Oct 2007
| 06.10.2011, 10:27
|
|