![]() |
|
||||||||||
|
|||||
|
Banned
[+1 13.12.12]
[+6 15.11.12] [+5 14.12.12] Регистрация: Sep 2012
Сообщений: 91
|
создаю файл с сценой.
в нем,в целях обучения прописываю создаю в этом файле мовиклип с именем Fire и экспортирую для as с именем FirerClip создаю класс - точку запуска программы package { import flash.display.MovieClip; import src.ClassTower.FirstClass; public class TestClass extends MovieClip { var fClass:FirstClass = new FirstClass(); public function TestClass():void { trace("конструктор класса TestClass"); addChild(fClass.f); } public function Method():void { trace("я метод класса TestClass"); } } } package src.ClassTower { import flash.display.MovieClip; public class FirstClass extends MovieClip { var f:FireClip = new FireClip(); public function FirstClass():void { trace("я конструктор класса FirstClass "); } } } 1178: Attempted access of inaccessible property f through a reference with static type src.ClassTower:FirstClass. а так без графически созданных обектов все конструкторы свойства и методы работают безукоризненно... |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
По-умолчанию доступ к переменным только внутри пакета (internal). Т.е. f будет видна только внутри пакета src.ClassTower. Так что либо исправьте размещение классов по пакетам, либо сделайте публичный геттер, либо объявите переменную f публичной.
|
|
|||||
|
Banned
[+1 13.12.12]
[+6 15.11.12] [+5 14.12.12] Регистрация: Sep 2012
Сообщений: 91
|
это я уже сделал,не помогло,упростил классы до невозможного,теперь,к графике я привязываю основной класс,в ктором создаю экземпляр класса МувиКлип,в конструкторе которого создается переменная из обекта этого же класса и добавляю на экран...ошибки
package { import flash.display.MovieClip; public class Gtower extends MovieClip { public function Gtower():void { new FireTower(); } } } |
|
|||||
package { import flash.display.MovieClip; public class FireTower extends MovieClip { public var fireTower:FireTower = new FireTower(); public function FireTower():void { addChild(fireTower); } } } package { import flash.display.MovieClip; public class Gtower extends MovieClip { public function Gtower():void { super.addChild(new FireTower()); } } } но вообще вы выбрали нехороший подход, и причем тут ООП?
__________________
местонахождение |
|
|||||
|
Banned
[+1 13.12.12]
[+6 15.11.12] [+5 14.12.12] Регистрация: Sep 2012
Сообщений: 91
|
что делает строка
немного конкретики пожалуйста,в справочнике найти не могу.. |
|
|||||
|
вызывает метод суперкласса addChild в который передает новый экземпляр класса FireTower(на который должен быть залинкован какой-то ассет в библиотеке
__________________
местонахождение |
|
|||||
|
Banned
[+1 13.12.12]
[+6 15.11.12] [+5 14.12.12] Регистрация: Sep 2012
Сообщений: 91
|
просто я так понял можно было обойтись такой строкой
но почему я должен в основном классе опять же прописывать что добавляю обект Fire на сцену...
|
|
|||||
|
Цитата:
Цитата:
__________________
местонахождение |
|
|||||
|
Banned
[+1 13.12.12]
[+6 15.11.12] [+5 14.12.12] Регистрация: Sep 2012
Сообщений: 91
|
а какой подход будет хорошим,если мне нужна сложная фигура оторую кодом задолбаешься рисовать?
|
|
|||||
|
подход простой, графика\анимация\шрифты собирается в ассет swf\swc.
если swf, то asset подгружается, далее можно работать с его содержимым если swc, то он подключается к проекту и можно работать с его содержимым
__________________
местонахождение |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|