Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расширение MovieClip 
:(
    Опции темы
Areostar
Дата 6.11.2009, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1191
Регистрация: 5.4.2008

Репутация: нет
Всего: -2



попробывал расширить класс MovieClip:

Код

package 
{
import flash.display.*; 
import flash.events.*;

public class ball extends MovieClip
{
     var image_ball:Shape = new Shape();
 
     public function ball()
     {
          image_ball.graphics.lineStyle(1);  
                         image_ball.graphics.beginFill(0x0000FF, 1); 
                         image_ball.graphics.drawRect(25, 0, 15, 15); 
          this.addChild(image_ball);
    }
}
}


При использовании все прекрасно отображается. Возникли вопросы:

1. Как если это возможно изменить форму самого мувка с прямоугольника на круг.
2. Возможно ли в этом раширеном классе прописать реакцию на сталкновения мувика или на клик мыши по нему!! 
PM MAIL   Вверх
Areostar
Дата 7.11.2009, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1191
Регистрация: 5.4.2008

Репутация: нет
Всего: -2



Мне нужно создать мувик: Круглая шайбочка с круглым отверстием в центре. Как мне реализовать Это! Точнее как через код сделать такое отверстие!?
PM MAIL   Вверх
SoWa
Дата 7.11.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 1
Всего: 74



Цитата(Areostar @  6.11.2009,  22:09 Найти цитируемый пост)
1. Как если это возможно изменить форму самого мувка с прямоугольника на круг.

Нельзя. Мувиклип прямоугольный всегда. Любой объект прямоугольный. Нерпямоугольн только программный массив точек, который ты потом можешь выводить в мувиклип, но в прямоугольный.
Цитата(Areostar @  6.11.2009,  22:09 Найти цитируемый пост)
2. Возможно ли в этом раширеном классе прописать реакцию на сталкновения мувика или на клик мыши по нему!! 

Мм, если на столкновения- то прописать метод, которму передавать другой объект, и пусть уже он разбирается, столкнулись с ним или нет. А про мышку- уточню, тогда сообщу.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
zodiac
Дата 8.11.2009, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 3.7.2009

Репутация: нет
Всего: нет



Цитата(Areostar)

Как если это возможно изменить форму самого мувка с прямоугольника на круг.

Невозможно. ActionScript основан на ECMA, а это WEB скрипты. Поэтому флэшерам, разрабатывающим игры, приходится всячески изощряться. Форма не мешает, если есть голова на плечах и немного фантазии. Придумай что-нибудь, обойти форму клипа можно. Как именно - зависит от ситуации.

Цитата(Areostar)

Возможно ли в этом раширеном классе прописать реакцию на сталкновения мувика или на клик мыши по нему!! 

Да. Реакция на столкновения мувика делается при помощи пользовательских событий. Создай свое событие MOVIE_HIT, и обработчик для него. Далее регистрируешь его в списке листенеров приемника и готово!
Или можно просто создать метод, как предложил SoWa. C точки зрения стройности кода, ИМХО, пользовательские события лучше. Но метод проще, и в целом может работать быстрее.
Клик мыши - это:
Код

addEventListener(MouseEvent.CLICK, clickListener);

Вообще, события, зарегистрированные в самом приемнике этих событий, называются событиями приемника. Строка сверху эквивалентна строке
Код

ball.addEventListener(MouseEvent.CLICK, ballClass.clickListener);

прописанной в каком-нибудь внешнем классе. Разница есть, но заключается она в небольших различиях при диспетчеризации (выполнении) события.

Цитата(Areostar)

Мне нужно создать мувик: Круглая шайбочка с круглым отверстием в центре. Как мне реализовать Это! Точнее как через код сделать такое отверстие!?

Примерно так вот:
Код

var ball:MovieClip=new MovieClip();
ball.graphics.lineStyle(1);
ball.graphics.beginFill(0x0000CC);
ball.graphics.drawCircle(0,0,50);
ball.graphics.drawCircle(0,0,25);
addChild(b);


Удачи!

Это сообщение отредактировал(а) zodiac - 8.11.2009, 02:51
PM MAIL   Вверх
nilrem
Дата 8.11.2009, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 15.2.2006
Где: Киев

Репутация: нет
Всего: нет



Высчитывать столкновение с помощью графических объектов, по моему, не совсем правильный способ.
Правильнее и элегантнее в отдельном скрипте высчитывать с помощью геометрии положения круга и не является ли стенка преграды касательной сего круга, а отрисовывать уже другим скриптом на основе полученных данных. Во первых более экономно (события все-таки дорогая вещь), во вторых, если руки не кривые, легко изменяемо и просто подстроить, и главное нету прямой зависимости от графических объектов.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 3 | Следующая тема »


 




[ Время генерации скрипта: 0.0632 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.