konto usunięte

Temat: Problem ze zmienną w AS3

Witam
Pisze stronkę we flashu na podstawie szablonu. Nie jestem programistą i po prostu przerabiam na swoje potrzeby gotowca. Wiekszość rzeczy sam wymysliłem lub doszedłem drogą dedukcji ale jednej nie potrafie. Mam stronę na której jest menu kierujące do kolejnych podstron (klatek). Dwie z tyhc podstron mają suwaki ponieważ tekst jest obszerniejszy. Tak było domyślnie. Chciałem dorobić trzecią podstronę ze scrollem ponieważ tam też ma być wiecej tekstu.
Oto kod który jest w action dla tych klatek które mają funkcje scroll:
Kod:

var center_y:Number = flashmo_mask.height * 0.5;
var gradient_area:Number = 15;

flashmo_product.mask = flashmo_mask;
flashmo_product.addEventListener( Event.ENTER_FRAME, scroll_this );

function scroll_this(e:Event):void
{
if( flashmo_product.height > flashmo_mask.height && Math.abs(this.mouseY - center_y) > 100 )
{
flashmo_product.y -= ( this.mouseY - center_y ) * 0.02;

if ( flashmo_product.y > flashmo_mask.y + gradient_area)
{
flashmo_product.y = flashmo_mask.y + gradient_area;
}
else if ( flashmo_product.y < flashmo_mask.y - flashmo_product.height + flashmo_mask.height - gradient_area )
{
flashmo_product.y = flashmo_mask.y - flashmo_product.height + flashmo_mask.height - gradient_area;
}
}
}

i druga

Kod:
var center_y2:Number = flashmo_mask2.height * 0.5;
var gradient_area2:Number = 15;

flashmo_service.mask = flashmo_mask2;
flashmo_service.addEventListener( Event.ENTER_FRAME, scroll_this2 );

function scroll_this2(e:Event):void
{
if( flashmo_service.height > flashmo_mask2.height && Math.abs(this.mouseY - center_y2) > 100 )
{
flashmo_service.y -= ( this.mouseY - center_y2 ) * 0.02;

if ( flashmo_service.y > flashmo_mask2.y + gradient_area2)
{
flashmo_service.y = flashmo_mask2.y + gradient_area2;
}
else if ( flashmo_service.y < flashmo_mask2.y - flashmo_service.height + flashmo_mask2.height - gradient_area2 )
{
flashmo_service.y = flashmo_mask2.y - flashmo_service.height + flashmo_mask2.height - gradient_area2;
}
}
}

Uzyłem mozgu w najprostszy sposób i spróbowałem dlatrzeciej strony zrobić tak
Kod:

var center_y3:Number = flashmo_mask3.height * 0.5;
var gradient_area3:Number = 15;

flashmo_cz.mask = flashmo_mask3;
flashmo_cz.addEventListener(Event.ENTER_FRAME,scroll_this3);

function scroll_this3(e:Event):void
{
if( flashmo_cz.height > flashmo_mask3.height && Math.abs(this.mouseY - center_y2) > 100 )
{
flashmo_cz.y -= ( this.mouseY - center_y2 ) * 0.02;

if ( flashmo_cz.y > flashmo_mask3.y + gradient_area3)
{
flashmo_cz.y = flashmo_mask3.y + gradient_area3;
}
else if ( flashmo_cz.y < flashmo_mask3.y - flashmo_cz.height + flashmo_mask3.height - gradient_area3 )
{
flashmo_cz.y = flashmo_mask3.y - flashmo_cz.height + flashmo_mask3.height - gradient_area3;
}
}
}

Niestety kompilator wywala błąd:

1120: Access of undefined property flashmo_cz.


1120: Access of undefined property flashmo_mask3.

Czyli nie widzi tych dwoch zmiennych. Szukałem w całym kodzie wewszystkich action deklaracji zmiennych z poczatkiem flashmo ale nie ma takich. Dlaczego dla tych dwóch pierwszych klatek kompilator nie widzi problemu a dla mojej nowej jest ?
Ewetualnie jak przypisać do tej klatki (podstrony) tą zmienną flashmo_cz bo domyslam sie że z tym jest problem.
Szymon Rybka

Szymon Rybka Flex Developer

Temat: Problem ze zmienną w AS3

Bo te zmienne mogą pochodzić z instance name.

Następna dyskusja:

AS3 - menu - problem z movi...




Wyślij zaproszenie do