![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 6
|
Добрый день!
Я не флеш программист, но вообще в программировании разбираюсь. Мне нужно одну несложную флешку запустить на iPhone. При попытке опубликовать ее, возникает ошибка 1180: Call to a possibly undefined method attachMovie. при добавлении снежинок. Код такой: for(var i=0;i<180;i++) { attachMovie("snowflake","s"+i,i); this["s"+i]._xscale=Math.random()*100+50; this["s"+i]._yscale=this["s"+i]._xscale; this["s"+i]._alpha=Math.random()*70+20; this["s"+i]._x=Math.random()*500; this["s"+i]._y=Math.random()*-20; } stop(); for(var i=0;i<180;i++) { this["s"+i] = new snowflake(); this["s"+i].scaleX=Math.random()*100+50; this["s"+i].scaleY=this["s"+i].scaleX; this["s"+i].alpha=Math.random()*70+20; this["s"+i].x=Math.random()*500; this["s"+i].y=Math.random()*-20; this.addChild(this["s"+i]); } stop(); Помогите разобраться. Последний раз редактировалось udaaff; 09.02.2013 в 00:02. |
|
|||||
|
Начальный код на AS2 написан
А второй код, скорее всего, не видит никакого класса snowflake И добавление на экран там идет не новой снежинки а нового объекта класса "s"+i Решение - добавить новый класс Snowflake, в котором хранится вид снежинки (то есть наследовать какой-нибудь DisplayObject) for(var i=0;i<180;i++) { var currentSnowflake:Snowflake = new Snowflake(); currentSnowflake.scaleX=Math.random()*100+50; currentSnowflake.scaleY=this["s"+i].scaleX; currentSnowflake.alpha=Math.random()*70+20; currentSnowflake.x=Math.random()*500; currentSnowflake.y=Math.random()*-20; this.addChild(currentSnowflake); } |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 6
|
Так тоже снег не появляется. В библиотеке я задал класс Snowflake, но может там еще что-то нужно задать?
|
|
|||||
|
Конечно нужно, там надо сделать внешний вид снежинки. Либо подгрузить какой-нибудь битпам в описании класса, или (раз в библиотеке, значит во flash pro делаете?) в самом мувиклипе из библиотеки закинуть на экран картинку снежинки
|
|
|||||
|
Регистрация: Apr 2012
Сообщений: 6
|
дело в том, что флешка была рабочая, в том числе и снег работал. но после изменений в коде пропал.
|
|
|||||
|
kocherovets потому что, скорее всего, в библиотеке валялся мувиклип с рабочим названием snowflake, который хранил в себе изображение снежинки. в AS2 такой метод работал, там так и добавляли новые мувики на экран.
В AS3 подход примерно такой же. Только теперь, чтобы использовать этот самый snowflake из библиотеки, нужно создать его собственный класс Snowflake, а внутрь поместить то, что было в старом мувике snowflake Поищите в библиотеке мувик с этой снежинкой. Если найдете и внутри окажется та самая снежинка, откройте свойства и поставьте галочку export in ActionScript, после чего укажите класс мувика. Это и будет тот Snowflake, который вы сделали до этого (если вы его привязали к какому-то конкретному элементу из библиотеки - можете удалить старый элемент) Я просто думал, что будет вполне понятно насчет "нового класса" и прочее Но раз нет, вот это объяснение, надеюсь, поможет) |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
kocherovets, для оформления своего кода надо использовать теги [as3][/as3]
|
|
|||||
|
Регистрация: Apr 2012
Сообщений: 6
|
Спасибо, разобрался! Связал создание всех объектов через конструкторы классов. Мне как программисту так было понятнее. И оно заработало
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|