konto usunięte
Temat: Problem ze zmienną w AS3
WitamPisze 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.