Sylwia W.

Sylwia W. GRAPHIC DESIGNER

Temat: Problem z przesuwaniem MC do granicy maski

Witam. Na wstępie nie ukrywam, że jestem początkująca z ActionScriptem. Piszę pracę dyplomową a mój opiekun odnosze wrażenie, że nie bardzo wie jak mi pomóc... :( Więc zwracam się do was z prośbą o pomoc. P.S Pracę robię w AS2

Robię taką interaktywną mapę. Mam podkład który jest maskowany, czyli wyświetla się tylko to co nie jest zakryte maską. Mój podkład mogę przesuwać w górę, dół, prawo i lewo za pomocą strzałek nawigacji i udało mi się zrobić tak, że nie przesuwam go w nieskończoność tylko do granicy maski. Problem mam z ręcznym przesuwaniem podkładu. Nie wiem jak ustalić granicę do której mogę przesuwać mój podkład funkcjami startDrag i stopDrag :(

Napisałam już kod dzięki któremu mogę przesuwać podkład tylko wtedy gdy łapię go nad maską a poza nią nie. Brzmi on następująco:

var leftBoundary:Number = 340;
var rightBoundary:Number = 640;
var topBoundary:Number = 160;
var bottomBoundary:Number = 410;

podkladeps.addEventListener("click", onMouseDown);
this.onMouseDown = function() {
if (_xmouse > leftBoundary && _ymouse > topBoundary && _xmouse < rightBoundary && _ymouse < bottomBoundary) {
podkladeps.startDrag();

} else {
stopDrag();
}
}

podkladeps.addEventListener("click", onMouseUp);
this.onMouseUp = function() {
podkladeps.stopDrag();
}

Jak mam go przekształcić aby uwzględniał jeszcze to żeby dało się podkład złapać i przesuwać tylko do momentu gdy jego skraj dojdzie do granicy maski??? Próbowałam w ten sposób ale nie działa...
Proszę pomóżcie...

"}else if (podkladeps._x<=339 && podkladeps._x>214 && podkladeps._y<=161 &&
> podkladeps._y>-15) {
> podkladeps.startDrag();"
Kuba Regucki

Kuba Regucki IT Team Leader

Temat: Problem z przesuwaniem MC do granicy maski

To powinno pomóc ;)

Usage
startDrag( target ,[ lock , left , top , right , bottom ] )

Parameters
target The target path of the movie clip to drag.

lock A Boolean value specifying whether the draggable movie clip is locked to the center of the mouse position ( true ), or locked to the point where the user first clicked on the movie clip ( false ). This parameter is optional.

left , top , right , bottom Values relative to the coordinates of the movie clip's parent that specify a constraint rectangle for the movie clip. These parameters are optional.
Sylwia W.

Sylwia W. GRAPHIC DESIGNER

Temat: Problem z przesuwaniem MC do granicy maski

Dzięki za podpowiedź ale jak pisałam jestem początkująca i niewiele mi to mówi :( Mógłbyś jakoś bardziej łopatologicznie?
Kuba Regucki

Kuba Regucki IT Team Leader

Temat: Problem z przesuwaniem MC do granicy maski


podkladeps.startDrag(true, leftBoundary, topBoundary, rightBoundary, bottomBoundary);


Ewentualnie kombinujesz z szerokością i wysokością podkładu.
Sylwia W.

Sylwia W. GRAPHIC DESIGNER

Temat: Problem z przesuwaniem MC do granicy maski

Wielkie dzięki teraz działa :) Zatrzymuje się na granicach. Wprowadziłam:
podkladeps.startDrag(false, _x=215, _y=-15, _x=340, _y=160);

Pojawił się jednak mały problem. Gdy eksportuję plik i chwytam za podkład żeby go przesunąć wszystko przesuwa się znacznie w prawo :(
Wszystkie funkcje działają można przesuwać ręcznie i strzałkami do granic maski jednak całość zmieniła swoje położenie.

Czy ktoś wie czemu tak się stało i jak to naprawić?

Następna dyskusja:

problem z Adobe Flash Play...




Wyślij zaproszenie do