Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.02.2013, 23:02
kocherovets вне форума Посмотреть профиль Отправить личное сообщение для kocherovets Найти все сообщения от kocherovets
  № 1  
Ответить с цитированием
kocherovets

Регистрация: Apr 2012
Сообщений: 6
По умолчанию Помогите избавиться от ошибки 1180: Call to a

Добрый день!

Я не флеш программист, но вообще в программировании разбираюсь. Мне нужно одну несложную флешку запустить на iPhone. При попытке опубликовать ее, возникает ошибка

1180: Call to a possibly undefined method attachMovie.

при добавлении снежинок.

Код такой:

Код AS3:
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();
Я полазил по инету и по результатам изменил его на

Код AS3:
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.
Старый 08.02.2013, 23:10
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 2  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Начальный код на AS2 написан
А второй код, скорее всего, не видит никакого класса snowflake
И добавление на экран там идет не новой снежинки а нового объекта класса "s"+i

Решение - добавить новый класс Snowflake, в котором хранится вид снежинки (то есть наследовать какой-нибудь DisplayObject)
Код AS3:
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);
}

Старый 08.02.2013, 23:21
kocherovets вне форума Посмотреть профиль Отправить личное сообщение для kocherovets Найти все сообщения от kocherovets
  № 3  
Ответить с цитированием
kocherovets

Регистрация: Apr 2012
Сообщений: 6
Так тоже снег не появляется. В библиотеке я задал класс Snowflake, но может там еще что-то нужно задать?

Старый 08.02.2013, 23:26
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 4  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Конечно нужно, там надо сделать внешний вид снежинки. Либо подгрузить какой-нибудь битпам в описании класса, или (раз в библиотеке, значит во flash pro делаете?) в самом мувиклипе из библиотеки закинуть на экран картинку снежинки

Старый 08.02.2013, 23:51
kocherovets вне форума Посмотреть профиль Отправить личное сообщение для kocherovets Найти все сообщения от kocherovets
  № 5  
Ответить с цитированием
kocherovets

Регистрация: Apr 2012
Сообщений: 6
дело в том, что флешка была рабочая, в том числе и снег работал. но после изменений в коде пропал.

Старый 08.02.2013, 23:59
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 6  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
kocherovets потому что, скорее всего, в библиотеке валялся мувиклип с рабочим названием snowflake, который хранил в себе изображение снежинки. в AS2 такой метод работал, там так и добавляли новые мувики на экран.

В AS3 подход примерно такой же. Только теперь, чтобы использовать этот самый snowflake из библиотеки, нужно создать его собственный класс Snowflake, а внутрь поместить то, что было в старом мувике snowflake

Поищите в библиотеке мувик с этой снежинкой. Если найдете и внутри окажется та самая снежинка, откройте свойства и поставьте галочку export in ActionScript, после чего укажите класс мувика. Это и будет тот Snowflake, который вы сделали до этого (если вы его привязали к какому-то конкретному элементу из библиотеки - можете удалить старый элемент)
Я просто думал, что будет вполне понятно насчет "нового класса" и прочее
Но раз нет, вот это объяснение, надеюсь, поможет)

Старый 09.02.2013, 00:00
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 7  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
kocherovets, для оформления своего кода надо использовать теги [as3][/as3]

Старый 09.02.2013, 00:28
kocherovets вне форума Посмотреть профиль Отправить личное сообщение для kocherovets Найти все сообщения от kocherovets
  № 8  
Ответить с цитированием
kocherovets

Регистрация: Apr 2012
Сообщений: 6
Спасибо, разобрался! Связал создание всех объектов через конструкторы классов. Мне как программисту так было понятнее. И оно заработало

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.