2009-11-14 9 views
17

piszę coś w Flash/AS3, i natknąłem się na ten problem:Flash AS3: ReferenceError: Error # 1056: Nie można utworzyć właściwość

ReferenceError: Error #1056: Cannot create property txtInput on package.name.DocumentClasss

Zasadniczo mam klasy dokumentu i mogę tworzyć instancje klipów filmowych i kompilować je bez problemów. Ale kiedy umieszczam na stole wejściowym pole tekstowe (ikona "T" na palecie) i odmawia ono kompilacji, z powyższym błędem.

Nie jestem pewien, czy to robi różnicę, ale piszę swój ActionScript w FlashDevelop, a kompilacja odbywa się w Flash IDE. Mam również wybrane Strict Mode i Warnings Mode wybrane pod Publish Settings -> Flash -> Script -> Settings... -> Errors.

Szukałem rozwiązania tego w Internecie, a jedynymi sugestiami wydaje się być nie wstawianie pola tekstowego na jelenie w Flash IDE, a zamiast tego dynamicznie tworzyć je w klasie dokumentu.

Czy istnieje lepsze rozwiązanie?

Dzięki

+0

Opublikuj stos i wiersz (wraz z pewnym kontekstem), w którym błąd jest zgłaszany. –

Odpowiedz

28

Brzmi jak masz „Automatycznie zadeklarować wystąpień scenicznych” niezaznaczone, a więc jeśli chcesz dodać nazwanych instancji, trzeba zadeklarować je w swojej klasie

import flash.text.TextField; 
... 
public var txtInput:TextField; 
... 

Możesz znaleźć deklarację etapów instancji na karcie flash we właściwościach filmu i kliknąć "Ustawienia" obok pola wyboru Skrypt: Actionscript 3.

Osobiście zawsze mam to niezaznaczone, więc zmusza do zadeklarowania instancji w klasie i można lepiej śledzić, co się dzieje.

+0

Dziękujemy! Miałeś rację, oświadczając, że instancje sceny nie są zaznaczone, to jest zachowanie, którego pragnąłem. Mój błąd polegał na tym, że zadeklarowałem pola tekstowe jako 'flash.text.TextField', ale zamiast tego jako TextInput. Byłem zaskoczony, ponieważ dostarczył mi błąd odniesienia zamiast błędu typu. – bguiz

+0

Gdzie jest dostępna opcja: "Automatycznie zadeklaruj instancje etapów"? –

+2

jeśli przejdziesz do ustawień publikowania, wybierz zakładkę "flash", powinieneś mieć przycisk "Ustawienia" obok pola wyboru pokazującego "actionscript 3" W tym oknie możesz odznaczyć "automatycznie deklaruj etapy" – Les

Powiązane problemy