![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2012
Сообщений: 88
|
Привет всем.
Захотелось мне чего-то новенького и я решил сделать "программную анимацию". А именно: -Создал Мовиклип -Вставил в него мою раскодровку -Двигать по координатам каждый ЕнтерФрейм. И тут возникла проблема! Сама проблема на скриншоте. Я не могу ограничить чтоль область вывода картинки... Что делать ума не прилажу. Вставленная картинка является тоже мувиклипом, в который вставлен БИТМАП. Я не смог найти инфу по работе с Битмапами и поэтому сделал так. Помогите решить проблему. Да и вопрос у меня еще. Можно программно как-то изменить центр картинки? Т.е. начало координат было в центре, а не в правом верхнем углу? |
|
|||||
|
Чтобы картинка была с координатами по-центру нужно, например, положить ее в контейнер, отцентрировать ее там и двигать уже сам контейнер. Скажем так:
// Создаем картинку var myBitmap:Bitmap = new Bitmap(new MyBitmap()); // Создаем контейнер (им может быть любой наследник класса // DisplayObjectContainer, чтобы у него был метод addChild, // например, это может быть MovieClip) var myContainer:Sprite = new Sprite(); // Добавляем картинку в контейнер myContainer.addChild(myBitmap); // Позиционируем картинку по-центру myBitmap.x = -(myBitmap.width / 2); myBitmap.y = -(myBitmap.height / 2); // А теперь добавляем куда нам нужно контейнер и двигаем уже его addChild(myContainer); myContainer.x = 100; myContainer.y = 200; |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 88
|
Ясно. Теперь будем разбиратся с первым вопросом.
Имеется МувиКлип с размерами ширины и высоты 14(Нарисовал квадрат, конвертировал в символ и сделал прозрачным. Все это проделано в Адобе Флэш) Дальше в конструкторе класса этого МувиКлипа я вставляю в него другой М.клип с 4 человечками(в этих 4 человечках заключается анимация ходьбы). Ширина как мы видим автоматически увеличивается. Наша цель(хорошо, моя) : Сделать так, чтобы был виден только 1 кадр ходьбы. Т.е. Уменьшить ширину и высоту Клипа. Может вам известны другие способы анимации, поделитесь, я рассмотрю. |
|
|||||
|
Если хочется из готового sprite-sheet'а (в вашем случае - это раскадровка из четырех кадров) получить анимацию, можно действовать двумя способами:
1) Добавляем в контейнер весь sprite-sheet, используем свойство scrollRect и двигаем затем этот самый sprite-sheet так чтобы в нужные моменты времени показывался нужный кадр. Однако я не уверен, что этот способ обрежет ширину и высоту контейнера в целом. Попробуйте. 2) Создать битмапу требуемой ширины и высоты. Далее по таймеру копировать в нее нужные области sprite-sheet'а. Тут поможет метод copyPixels. На мой взгляд второй способ лучше. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:32. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|