Witam.
Chciałem sobie przerobić plik z tutoriala:
http://www.webinside.pl/flash/tutoriale/72
...tak aby prostokąt poruszał się względem osi Y. Zamieniłem więc "x" na "y".
Jednak działa to nieco dziwnie. Prostokąt porusza się nieznacznie, gdy kursor jest w górnej części (obróconego oczywiście o 90 stopni) menu.
Wie ktoś dlaczego?
"Efektowne menu" inaczej...
Re: "Efektowne menu" inaczej...
Zmieniłeś też _xmouse na _ymouse?
I zmień nazwę zmiennej mx na jakąś inna, bo jest ona słowem zarezerwowanym i może powodować konflikty we flash-playerze 7
I zmień nazwę zmiennej mx na jakąś inna, bo jest ona słowem zarezerwowanym i może powodować konflikty we flash-playerze 7
Re: "Efektowne menu" inaczej...
Wszystko wyglądało tak:
Właściwie to mam nieco zmienioną postać kodu:
tak by prostokąt wracał do y=0 ale w obydwu przypadkach kod nie działa jak należy...
Kod: Zaznacz cały
onClipEvent (enterFrame) {
//w każdej klatce
if (_root.pasek.hitTest(_root._ymouse, _root._ymouse, true)) {
//jeśli kursor jest na pasku menu
//ustaw zmienną pozycji y kursora
my = _root._ymouse;
}
//predkosc jest równa odległości między pozycją y kursora,
//a pozycją y ramki podzieloną przez 5
//zmiennej d przypisujemy tę wartość
d = (my-this._y)/5;
//dodajemy prędkość...
this._y += d;
} Kod: Zaznacz cały
onClipEvent ( load ) {
poczy = this._y;
}
onClipEvent (enterFrame) {
//w każdej klatce
if (_root.pasek.hitTest(_root._ymouse, _root._ymouse, true)) {
//jeśli kursor jest na pasku menu
//ustaw zmienną pozycji y kursora
my = _root._ymouse;
} else {
my = poczy;
}
//predkosc jest równa odległości między pozycją y kursora,
//a pozycją y ramki podzieloną przez 5
//zmiennej d przypisujemy tę wartość
d = (my-this._y)/5;
//dodajemy prędkość...
this._y += d;
} Re: "Efektowne menu" inaczej...
Kod: Zaznacz cały
onClipEvent (load) {
var poczy = this._y, speed = 1, my, d;
}
onClipEvent (enterFrame) {
if (_root.pasek.hitTest(_root._xmouse, _root._ymouse, true)) {
my = _root._ymouse;
d = (my - this._y) / 5;
this._y += d;
} else {
this._y -= speed;
}
}Re: "Efektowne menu" inaczej...
No fajnie, tylko prostokącik nie wraca do początkowej pozycji. Leci wyyyysoko, nie wiem czy nie do nieskończoności 
Próbowałem przypisać zamiast this._y -= speed; coś innego będącego odwołaniem do tej właśnie początkowej pozycji. this._y = 0; sprawia, że prostokąt natychmiastowo (po opuszczeniu przez kursor paska menu) znajduje się w y=0 filmu.
A jak zrobić by wracał sobie z jakąś tam prędkością do pozycji, w której był na początku albo do początku paska?
Próbowałem przypisać zamiast this._y -= speed; coś innego będącego odwołaniem do tej właśnie początkowej pozycji. this._y = 0; sprawia, że prostokąt natychmiastowo (po opuszczeniu przez kursor paska menu) znajduje się w y=0 filmu.
A jak zrobić by wracał sobie z jakąś tam prędkością do pozycji, w której był na początku albo do początku paska?
Re: "Efektowne menu" inaczej...
Zapomniałem o sprawdzaniu jednego warunku:
Szybkość ustawiasz w zmiennej speed
Kod: Zaznacz cały
onClipEvent (load) {
var poczy = this._y, speed = 1, my, d;
}
onClipEvent (enterFrame) {
if (_root.pasek.hitTest(_root._xmouse, _root._ymouse, true)) {
my = _root._ymouse;
d = (my - this._y) / 5;
this._y += d;
}
if (!_root.pasek.hitTest(_root._xmouse, _root._ymouse, true)) {
if (this._y >= poczy) {
this._y -= speed;
}
}
}Re: "Efektowne menu" inaczej...
Dzięki serdeczne.
Pozdrowienia.
Pozdrowienia.
