Ich arbeite auf einige ziehbare/Dropbarbar.So es ist nur ziehbar x, weil dies Bar auswählen ist. Problem ist Schaltfläche auswählbar außerhalb der Bühne Grenze. Ich möchte nur in stage limit ziehen. Ich habe einige Methoden hitTestPoint und NewsShape versucht, aber es hat nicht funktioniert.Wie setze ich Drag X Limit
// define lock on y-axis
var LOCKY:Number = secbuton.y;
stage.addEventListener(MouseEvent.MOUSE_MOVE, _mouseMove);
function _mouseMove(e:MouseEvent):void
{
if(secbuton.y != LOCKY) secbuton.y = LOCKY;
}
// dragging
secbuton.addEventListener(MouseEvent.MOUSE_DOWN, _mouseDown);
function _mouseDown(e:MouseEvent):void
{
secbuton.startDrag(false, new Rectangle(35,345,420));
secbuton.addEventListener(MouseEvent.MOUSE_UP, _mouseUp);
}
// dropping
function _mouseUp(e:MouseEvent):void
{
secbuton.stopDrag();
secbuton.removeEventListener(MouseEvent.MOUSE_UP, _mouseUp);
if(secbuton.hitTestObject(kose1)){
secbuton.x = levcbk1.x +5
}
if(secbuton.hitTestObject(lev2)){
secbuton.x = levcbk2.x +5
}
if(secbuton.hitTestObject(lev3)){
secbuton.x = levcbk3.x +5
}
if(secbuton.hitTestObject(lev4)){
secbuton.x = levcbk4.x +5
}
if(secbuton.hitTestObject(lev5)){
secbuton.x = levcbk5.x +5
}
}
UPDATE
Normalerweise bar arbeiten wie diese.
[! [Enter image description here] [1]] [1]
Aber Problem gibt es, wenn die Grenzen treffen oder wenn versuchen ziehen, um y-Achse.
[! [Enter image description here] [2]] [2]
Zweites Argument: ** öffentliche Funktion startDrag (lockCenter: Boolean = false, bounds: Rectangle = null): void ** http://help.adobe.com/de_DE/FlashPlatform/reference/actionscript/3/flash/ display/Sprite.html # startDrag() – Organis
Ich bin neu in der Klasse.Ich verwende Frame-Code.Wie kann ich das in Frame-Code tun? – KucuKeko
** secbuton.startDrag (false, new Rectangle (...)); ** und im Rectangle-Konstruktor übergeben Sie ** left, top, width, height ** des rechteckigen Bereichs, der ein Bounding-Box zum Ziehen sein soll Ihr secbutton Objekt. – Organis