2011-09-05 6 views
5

Oto błąd tytuł z pełnymi ścieżkami:5000: Klasa „..” musi podklasy «flash.display.MovieClip», ponieważ jest ona związana z symbolem biblioteki tego typu

\\psf\Home\Dropbox\Development\Repositories\GIT\i-cc\Powerhouse\Notes\master\flash\lib\libnote\NotesCore.as:1: 5000: The class 'lib.libnote.NotesCore' must subclass 'flash.display.MovieClip' since it is linked to a library symbol of that type. 

Po pierwsze, co próbowałem i czego używam:

  • pracuję nad tym projektem z wykorzystaniem FlashDevelop i FlashDevelop został został skonfigurowany do korzystania z zewnętrznego (IDE Flash CS5.5) - to nie ma znaczenia, czy jestem użyj Flash lub FlashDevelop, aby skompilować/przetestować jako błędy nadal trwa.

  • Próbowałem również odznaczać "Automatycznie deklaruj etapy" w ustawieniach publikowania bez powodzenia.

  • I próbował również za pomocą ścieżki bezwzględnej dla rozciąga klauzuli (wystaje flash.display.MovieClip)

Poniżej zgaszone wersja klasy NotesCore;

package lib.libnote { 

    /* I am importing MovieClip */ 
    import flash.display.MovieClip; 

    ... 

    /* And Extending it to the Class */ 
    public class NotesCore extends MovieClip { 

     /* The following methods/functions are used in the class */ 

     public function NotesCore() { 
      ... 
     } 

     public function onAddedToStage(e:Event = null):void { 
      ... 
     } 

     public function init():void {  
      ... 
     } 

     private function setParams():void { 
      ... 
     } 

     private function onStageResizeLocal(event:Event):void{ 
      ... 
     } 

     private function setUpStage():void { 
      ... 
     } 
    } 
} 

Pochodzę głównie z Java, więc być może nie rozumiem koncepcji ActionScript; jeśli ktokolwiek mógłby wskazać mi właściwy kierunek, byłbym bardzo wdzięczny!

+0

Więc symbol NotesCore został Eksport dla ActionScript i używasz wygenerowanego klasę? Czy to możliwe, że Flash generuje klasę w czasie działania, jeśli jest połączona z twoją, to czy we FlashDevelop masz swoją wersję, więc istnieje coś w rodzaju niejednoznacznego odwoływania się do klasy? Spójrz [tutaj] (fhttp: //www.flashdevelop.org/wikidocs/index.php? title = AS3: FlexAndFlashCS3Workflow) po kilka wskazówek, a może [to] (http://stackoverflow.com/questions/1004867/compile-a-swc-in-flash-for-use-in-flex-with-a-class-written-in-flex/1011662 # 1011662) może być pomocne, jeśli tak jest. –

+0

@George Profenza: Wierzę, że struktura katalogów i deklaracji DocumentRoot etc są zdrowe; jednak część błędu związana z "biblioteką tego typu" naprawdę mnie rzuca; być może dzieje się coś podobnego do tego, czego nie widzę. Będę szukał w międzyczasie, wielkie dzięki! – krslynx

Odpowiedz

0

Czy w jednej z twoich klas bibliotecznych (prawdopodobnie SWC) masz zasób o nazwie eksportowej NotesCore? Myślę, że kompilator się tu miesza - Próbuje rozwiązać 2 oddzielne klasy o tej samej nazwie.

Jeśli chcesz dodać inną funkcjonalność (onAddedToStage() itp.), Rozszerz klasę pochodzącą z pliku SWC. Coś jak:

public class NotesCoreEx extends NotesCore 
{ 
... 
} 
+0

Być może nie rozumiem twojej odpowiedzi, ale nie mam żadnych aktywów o nazwie NotesCore. Jak mogę sprawdzić nazwę eksportu aktywów? Zanotowałem Twoje zalecenie dotyczące rozszerzenia klasy NotesCore. Wielkie dzięki! – krslynx

+0

"Ponieważ jest połączony z symbolem biblioteki tego typu", mówi mi, że gdzieś w Twojej fla, myślę, że masz MovieClip, który jest ustawiony do eksportu z nazwą powiązania "NotesCore", co jest przyczyną problemu – divillysausages

+0

wypróbowałeś to: http://stackoverflow.com/questions/4265607/unable-to-solve-flash-error-5000-the-class-must-subclass-flash-display-movi? – divillysausages

0

Sprawdź ustawienia skryptu akcji i ścieżkę. Są szanse, że może nie wskazywać właściwego pliku.

4

Dla innych, którzy znaleźli tę stronę, błąd

5000: Klasa „..” musi podklasy «flash.display.MovieClip» ponieważ jest związany z symbolem biblioteki tego typu

często pojawia się, gdy masz inne problemy w swoim projekcie. Zajrzyj do zakładki Problems w programie Flash Builder i napraw wszelkie inne błędy.

Błąd 5000 może zniknąć, gdy inne problemy zostaną naprawione.

2

Miałem ten sam problem. Może się to wydawać głupie (jestem nowy w AS3), ale o to:

class test extends shape {

przyczyną problemu.

Zmieniłem go

class test extends sprite {

i problem został rozwiązany.

0

Dla innych, którzy mogą zetknąć się z tym:

robie zadanie dla moich studiów uniwersyteckich i tak jestem bardzo nowe migać. Błąd zniknął dla mnie po dodaniu extends flash.display.MovieClip do końca mojej deklaracji klasowej.

Na przykład:

public class MyClassName extends flash.display.MovieClip 
0

Jeśli chcesz dodać inną funkcjonalność (onAddedToStage() etc), rozszerzenie klasy pochodzących z SWC. Coś jak:

public class NotesCoreEx extends NotesCore 
{ 
... 
} 
0

Wystarczy zmienić typ symboluodpowiednio. To był szybki sposób, aby pozbyć się mojego błędu "błąd 5000".

MovieClip na przycisk lub graficzny // przycisk MovieClip lub grafikę // Grafiki do MovieClip lub przycisk