Просмотр полной версии : Отображение переменной в class,e
Вообщем есть class - Tmain
package {
import flash.display.MovieClip;
public class Tmain extends MovieClip {
public var _main:Number = 5;
public function Tmain() {
}
}
}
1) как отобразить эту переменную на сцене? _main.text = _main (так не работает)
2) как изменить значение переменной из другого класса?
chamele0n
07.04.2013, 21:13
о господи )
Создаешь экземплятор класа и вперед
var m:Tmain = new Tmain();
trace(m._main); // 5
m._main++;
trace(m._main); // 6
Да нет текст должен быть на сцене.
chamele0n
07.04.2013, 21:28
TextField тебе в помощь
что не правильно?
package {
import flash.display.MovieClip;
public class Tmain extends MovieClip
{
public var _main:Number = 5;
public var _text:TextField = new TextField();
_text.text = _main;
public function Tmain()
{
_text.text = _main;
}
}
}
chamele0n
07.04.2013, 21:37
както так
package {
import flash.display.MovieClip;
import flash.text.TextField;
public class Tmain extends MovieClip
{
public var _main:Number = 5;
public var _text:TextField = new TextField();
public function Tmain()
{
addChild(_text);
_text.text = String(_main);
}
}
}
iflamberg
07.04.2013, 21:38
Ну, для начала, было бы не плохо добавить созданное текстовое поле в список отображения:
package {
import flash.display.MovieClip;
public class Tmain extends MovieClip
{
public var _main:Number = 5;
public var _text:TextField = new TextField();
public function Tmain()
{
_text.text = _main;
addChild (_text);
}
}
}
Если сам Tmain не является document class, то не забудьте добавить его самого на экран.
огромное спасибо. я только понял о классах щас затрудняет вот это import flash.display.MovieClip
import flash.text.TextField; не знаю когда надо когда не надо писать. Мож совет дадите как определить что надо писать это.
iflamberg
07.04.2013, 21:54
Это указание компилятору, что, класс TextField нужно искать в пакете flash.display.TextField. А то, можент быть вы написали свой собвственный me.VasyaPupkin.TextField и хотите использовать его. Я об этом импорте забыл, мой код не должен компилироватся, по идее.
Писать его надо всегда. Компилятор вам подскажет если вы импорт забыли: дескать, не знаю я что это за класс, где его искать? Но если код в кадре пишется то некоторые импорты из стандартного набора можно опустить, компилятор "догадается". Но вы создали файл класса, здесь нельзя их не писать.
iflamberg, спасибо) к стати так и не услышал про второй вопрос. как изменить переменную из другого класса?
вот как делаю я
public var m:Tmain = new Tmain();
m._main.Number = 0;
не работает.
caseyryan
07.04.2013, 22:05
Само собой не будет
m._main = 0;
А вообще, судя по вашим вопросам, вам надо Колина Мука читать. С самого начала.
не работает =( ладно всем пока.
chamele0n
07.04.2013, 22:49
тебе не класы надо изучать, а сачало переменые
яж тебе написал
m._main++;
m._main = 0;
как переменные изменять я знаю, но у меня другая задача изменить переменную в классе Tmain из класса Tclass!
Вот что выхожит если написать ваше.
Error: Error #2136: SWF-файл file:///F|/Flash/Flash%5Fgames/TGames/Tgames.swf содержит недопустимые данные.
at Tclass()
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at Tmain()
var m:Tmain = new Tmain();
m._main += 5;
Добавлено через 4 часа 17 минут
Всё ошибки исправил) Надо было переменную статической сделать static.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.