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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.03.2015, 13:09
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 11  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Нет, это я про библиотеку. Если вы будете создавать пустую битмапу с пустой битмапдатой, вам не нужно об этом беспокоиться. Я имел в виду, что в библиотеке(окошке справа) могут храниться картинки, и их тоже можно экспортировать в экшнскрипт. Так вот, в Flash IDE они экспортируются как BitmapData, а в FD - сразу Bitmap.
__________________
There is no thing in this world that is not simple.

Старый 22.03.2015, 13:10
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 12  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Перемещать битмапу легко, просто bmp.x -= 2, bmp.y += 5;
Матрицу трансформации вы скармливаете ОБЪЕКТА, а не битмапдаты, чтобы объект рисовался не в начальных координатах, а в своих.
Ах да, точно. Спасибо, упустил

Добавлено через 2 минуты
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Нет, это я про библиотеку. Если вы будете создавать пустую битмапу с пустой битмапдатой, вам не нужно об этом беспокоиться. Я имел в виду, что в библиотеке(окошке справа) могут храниться картинки, и их тоже можно экспортировать в экшнскрипт. Так вот, в Flash IDE они экспортируются как BitmapData, а в FD - сразу Bitmap.
Поясню ситуацию. Пока что я планирую во Flash IDE в библиотеке создать символы.

Старый 22.03.2015, 13:12
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 13  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Касательно размеров, у вас карта то где хранится? Если у вас платформы хранятся в контейнере, то передавайте вот так его размеры:

Код AS3:
someSprite//контейнер
var bmpDt:BitmapData = new BitmapData(someSprite.width, someSprite.height, "auto", true);
var bmp:Bitmap = new Bitmap(bmpDt);
addChild(bmp);
__________________
There is no thing in this world that is not simple.

Старый 22.03.2015, 13:14
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 14  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Касательно размеров, у вас карта то где хранится? Если у вас платформы хранятся в контейнере, то передавайте вот так его размеры:

Код AS3:
someSprite//контейнер
var bmpDt:BitmapData = new BitmapData(someSprite.width, someSprite.height, "auto", true);
var bmp:Bitmap = new Bitmap(bmpDt);
addChild(bmp);
Так, я понял, вы про создание битмапы кодом. Что вы мне посоветуете: создавать символ и делать привязку или писать код, как вы написали?

Старый 22.03.2015, 13:17
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 15  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Ну, если не кодом, то вам лучше рисовать тогда карту в каком-нить Adobe Photoshop
Flash с растром ни тю-тю.

Я вас хотел научить рисовать ВЕКТОР в РАСТР, во-первых, это + в пользу производительности(если вы конечно оригинальный вектор не будете тоже добавлять в список отображения), во-вторых, бОльшие возможности для обработки столкновений/перемещений.
__________________
There is no thing in this world that is not simple.

Старый 22.03.2015, 13:20
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 16  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Ну, если не кодом, то вам лучше рисовать тогда карту в каком-нить Adobe Photoshop
Flash с растром ни тю-тю.

Я вас хотел научить рисовать ВЕКТОР в РАСТР, во-первых, это + в пользу производительности(если вы конечно оригинальный вектор не будете тоже добавлять в список отображения), во-вторых, бОльшие возможности для обработки столкновений/перемещений.
Про флешевый растр знаю, спасибо.

Но раз вы говорите, что у вектора такие преимущества, то давайте по порядку. Да, я хочу научиться рисовать ВЕКТОР в РАСТР. Но хотел бы сначала узнать, что такое контейнер объекта

Старый 22.03.2015, 13:25
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 17  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Вы с ООП не знакомы? Оу, тогда объяснить будет трудновато.
В общем, есть класс DisplayObject, от него наследуется Bitmap, например.
В экземпляр класса Bitmap нельзя добавить содержимое, как это можно сделать со Sprite или MovieClip:
Код AS3:
var spr:Sprite = new Sprite();
spr.addChild(anotherSprite);
Цитата:
var bmp:Bitmap = new Bitmap();
bmp.addChild(anotherBitmap);
Sprite и MovieClip наследуются от DisplayObjectContainer, который как раз и реализует методы addChild/removeChild/numChildren/getChildAt/итд...

Так вот, Sprite, MovieClip - это контейнеры.

Добавлено через 4 минуты
И у вектора преимущества только в его малом весе на диске
Производительность он убивает.
__________________
There is no thing in this world that is not simple.

Старый 22.03.2015, 13:31
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 18  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Вы с ООП не знакомы?
Знаком. Но недавно. Читаю Колина Мука, подошел к концу восьмой главы, "Типы данных".

Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Sprite и MovieClip наследуются от DisplayObjectContainer, который как раз и реализует методы addChild/removeChild/numChildren/getChildAt/итд..."

Так вот, Sprite, MovieClip - это контейнеры.
Теперь понял. Давайте дальше

Добавлено через 4 минуты
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
И у вектора преимущества только в его малом весе на диске
Производительность он убивает.
Ну растр тоже не вариант

Старый 22.03.2015, 13:43
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 19  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Есть векторная графика - это графика, которая базируется на точках в пространстве. От одной точки к другой может быть линия, и линия может иметь направление, которое плавно переходит в следующую точку.
Такая графика используется в Adobe Flash, или если вы будете рисовать с помощью graphics.
Она очень много требует производительности, т.е. немеренно есть ресурсы процессора.

Есть растровая графика - это когда хранится матрица пикселей, т.е. точек на экране, и она не требует сложных вычислений сбоку процессора, просто рисование на экране. Конечно, к классу Bitmap можно применить scale или rotation, но это всё равно не так сильно будет грузить процессор, как векторная графика с его сотнями-тыщами точек и линий, которые нужно перерисовывать каждый кадр.

Если вы попробуете наполнить экран 200-300 векторными рисунками, и попробуете их двигать, у вас CPU будет жрать на все 100%, и тормозить при этом будет жёстко.
Если же это будут битмапы, то нагрузка будет мизерная, 20-30%, и тормозить не будет.

Вы поняли, в общем. Но суть не в этом же, по теме вы хотите просто проверять столкновение с землёй. Проверяйте пиксел на битмапдате чуть ниже положения персонажа.
__________________
There is no thing in this world that is not simple.

Старый 22.03.2015, 15:15
Wormhole вне форума Посмотреть профиль Отправить личное сообщение для Wormhole Найти все сообщения от Wormhole
  № 20  
Ответить с цитированием
Wormhole
 
Аватар для Wormhole

Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Есть векторная графика - это графика, которая базируется на точках в пространстве. От одной точки к другой может быть линия, и линия может иметь направление, которое плавно переходит в следующую точку.
Такая графика используется в Adobe Flash, или если вы будете рисовать с помощью graphics.
Она очень много требует производительности, т.е. немеренно есть ресурсы процессора.

Есть растровая графика - это когда хранится матрица пикселей, т.е. точек на экране, и она не требует сложных вычислений сбоку процессора, просто рисование на экране. Конечно, к классу Bitmap можно применить scale или rotation, но это всё равно не так сильно будет грузить процессор, как векторная графика с его сотнями-тыщами точек и линий, которые нужно перерисовывать каждый кадр.

Если вы попробуете наполнить экран 200-300 векторными рисунками, и попробуете их двигать, у вас CPU будет жрать на все 100%, и тормозить при этом будет жёстко.
Если же это будут битмапы, то нагрузка будет мизерная, 20-30%, и тормозить не будет.

Вы поняли, в общем. Но суть не в этом же, по теме вы хотите просто проверять столкновение с землёй. Проверяйте пиксел на битмапдате чуть ниже положения персонажа.
Да-да, про векторную и растровую графику я уже знал, но про то, как жрет ресурсы векторная еще не слышал. Спасибо

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

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

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


 


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


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