Вход

Просмотр полной версии : Возможно ли переопределение(override) метода BitmapData.draw() ?


zCHESNOKz
22.12.2015, 14:21
Можно ли урезать функционал данного метода? Если да, то как? Если нет то почему?

опечатка, имеется в виду - BitmapData.draw()

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

Tails
22.12.2015, 14:24
Зачем?

undefined
22.12.2015, 15:02
public function draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void
Не вижу преград для переопределения.Или хочется его сигнатуру сменить?

Добавлено через 5 минут
Возможно ли переопределение(override) метода Bitmap.draw() ?
Дык нет у Bitmap такого метода,а у BitmapData есть

zCHESNOKz
22.12.2015, 15:48
Зачем?

Вообще это личное. Но если интересно, то я хотел бы его урезать, что бы он стал легче. Если получится то я буду только рад

Добавлено через 2 минуты

Дык нет у Bitmap такого метода,а у BitmapData есть

Очепятка. Имел ввиду - BitmapData)

Добавлено через 4 минуты
public function draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void
Не вижу преград для переопределения.Или хочется его сигнатуру сменить?


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

undefined
22.12.2015, 16:00
Не совсем понял про сигнатуру. Но задумка в том чтобы посмотреть данный метод изнутри, что в нем есть. А что в нем лишнего и мне не понадобиться - убрать.

Это к Adobe тогда вопрос :)Переопределение так не работает.Можно лишь дополнить функционал стандартного метода, либо целиком заменить его на свой, правда с большой вероятностью получится проигрыш в производительности.

zCHESNOKz
22.12.2015, 16:03
Это к Adobe тогда вопрос :)Переопределение так не работает.Можно лишь дополнить функционал стандартного метода, либо целиком заменить его на свой, правда с большой вероятностью получится проигрыш в производительности.

Ой как жаль, как жаль(

А вообще у AS3 закрытый код? То есть нельзя нигде посмотреть классы playerglobal.swc ?

undefined
22.12.2015, 16:06
Особого смысла это делать нет.Просто не задавай те параметры, которые не нужны.Метод ничего лишнего делать и не будет.Если только не стоит цель выиграть пару байт в размере конечной флэшки.

zCHESNOKz
22.12.2015, 16:12
Особого смысла это делать нет.Просто не задавай те параметры, которые не нужны.Метод ничего лишнего делать и не будет.Если только не стоит цель выиграть пару байт в размере конечной флэшки.

Просто bitmapData.draw() очень тормозной, думал что хоть как то это можно исправить)

undefined
22.12.2015, 16:15
Иногда его можно заменить на copyPixels, который по шустрее.

zCHESNOKz
22.12.2015, 16:20
Иногда его можно заменить на copyPixels, который по шустрее.

Странно что все всегда советуют copyPixels в альтернативу) ведь они созданы абсолютно для разных дел. Как раз мне нужно именно отрисовка клипа в Bitmapdata

undefined
22.12.2015, 16:28
с какой частотой и какого размера битмапдата рисуется, что это тормозит?

Bletraut
22.12.2015, 16:30
Просто bitmapData.draw() очень тормозной, думал что хоть как то это можно исправить)

Чем же он такой тормозной?

zCHESNOKz
22.12.2015, 16:32
с какой частотой и какого размера битмапдата рисуется, что это тормозит?

Анимация клипа отрисовывается каждый кадр.
Пока что только тестирую производительность. [100х100px; FR:45]

Добавлено через 2 минуты
Чем же он такой тормозной?

http://jacksondunstan.com/articles/1417

Конечно copyPixels() и draw() не совсем одно и тоже. Но все таки, было бы неплохо, что бы draw() рисовал со скоростью хотя бы немного ближе к copyPixels()

undefined
22.12.2015, 16:36
код в студию

i.o.
22.12.2015, 18:07
так а зачем рисовать в BitmapData 45 раз в секунду? Может сразу в сторону шейдеров посмотреть?

ZackMercury
22.12.2015, 18:10
Согласен, я предлагаю такой способ:
Генерировать либо массив битмапдат из мувика, которые заранее прорисовать перед показом, и затем просто раз в кадр менять текущий кадр, либо генерировать один спрайтшит со всеми кадрами, и оперировать с помощью copyPixels и данными о каждом кадре.

zCHESNOKz
22.12.2015, 18:31
Согласен, я предлагаю такой способ:
Генерировать либо массив битмапдат из мувика, которые заранее прорисовать перед показом, и затем просто раз в кадр менять текущий кадр, либо генерировать один спрайтшит со всеми кадрами, и оперировать с помощью copyPixels и данными о каждом кадре.

С клипами в которых до 10 кадров - согласен так и надо делать. Если же таким образом поступить с анимацией около 150 кадров? Оперативная память возрастет в геометрической прогрессии + тем самым упадет FPS

ZackMercury
22.12.2015, 18:37
Оперативка возрастёт, а FPS с чего должен падать?
В таком случае лучше вообще отказаться от рисования в растр, и использовать вектор.

zCHESNOKz
22.12.2015, 18:39
так а зачем рисовать в BitmapData 45 раз в секунду? Может сразу в сторону шейдеров посмотреть?

Что такое шейдеры? А можно по подробней?
(Отрисовывать каждый пиксель клипа в ручную? Вместо .draw() ?)

Добавлено через 3 минуты
Оперативка возрастёт, а FPS с чего должен падать?
В таком случае лучше вообще отказаться от рисования в растр, и использовать вектор.

Во-первых когда оперативка доходит до 500 мб это уже говорит о том, что данный подход не рабочий. Во-вторых FPS падает в таком случае - это факт. (Когда клипы имеют больше 100 фреймов)

Как раз таки, лучше каждый кадр с помощью не быстрого .draw() рисовать в растр нежели использовать вектор.

illuzor
22.12.2015, 19:23
zCHESNOKz, что за клипы такие?
Может стоит попробовать Starling+GAF. Все эти проблемы отпадут сами собой.

zCHESNOKz
22.12.2015, 19:39
zCHESNOKz, что за клипы такие?
Может стоит попробовать Starling+GAF. Все эти проблемы отпадут сами собой.

А потом начнутся проблемы, из за того что игра на GPU. И никто не захочет брать, потому что лень будет wmode настраивать. И прокляну тот день когда решился делать игру на старлинге)

gyfak
22.12.2015, 20:00
Мне кажется метод draw() для разового применения,
использовал его только когда надо скриншот сделать для сохранения в игре.

А зачем покадровый вектор перегонять в растр в процессе?

ZackMercury
22.12.2015, 21:39
И никто не захочет брать, потому что лень будет wmode настраивать.
Именно поэтому игры у людей и не хотят покупать, да)

zCHESNOKz
22.12.2015, 21:46
Именно поэтому игры у людей и не хотят покупать, да)

сарказм?)

Конечно gpu это круто. Но почему так мало игр делают на старлинге? В чем дело? :(

ZackMercury
22.12.2015, 22:25
С чего вы взяли? Сейчас большинство социалок на старлинге.

zCHESNOKz
22.12.2015, 22:32
С чего вы взяли? Сейчас большинство социалок на старлинге.

Верю! А как насчет портальных игр? Я их имел ввиду, если что

ZackMercury
22.12.2015, 23:12
Могу только предположить.
Либо большинство о старлинге и не слышало, либо у них весь фреймворк, набор инструментов, собираемый годами, нужно переписывать под старлинг, и им лень.

zCHESNOKz
22.12.2015, 23:41
Могу только предположить.
Либо большинство о старлинге и не слышало, либо у них весь фреймворк, набор инструментов, собираемый годами, нужно переписывать под старлинг, и им лень.

http://flashgamedev.ru/viewtopic.php?f=6&t=11997&start=20

Как то интересовался, как раз в тот момент когда решал буду ли использовать скворца) для разработки игры. Особенно порадовал ответ "Megabyte".

В итоге, я понял где иго можно использовать:
-социалки;
-мобилы;
-дескоп;
-и договоренность с заказчиком о том что портальная игруха будет с GPU. вот

callme
22.12.2015, 23:49
Вы продали игру сайту kongregate.com. После чего они в вашу игру встраивают ссылки, которые ведут на kongregate.com. Потом игру бесплатно забирает куча мелких порталов. Люди играют на мелких порталах, нажимают на ссылки и попадают на kongregate.com. То есть kongregate.com получает трафик.

Сама kongregate.com wmode то настроит, а вот куче мелких порталов пофиг, они не будут заморачиваться. В итоге на этих порталах игра не запустится. А значит kongregate.com не получит трафик.

Поэтому kongregate.com не покупает игры на старлинг.

kongregate.com здесь просто для примера, я просто суть хотел донести.

zCHESNOKz
22.12.2015, 23:52
Вы продали игру сайту kongregate.com. После чего они в вашу игру встраивают ссылки, которые ведут на kongregate.com. Потом игру бесплатно забирает куча мелких порталов. Люди играют на мелких порталах, нажимают на ссылки и попадают на kongregate.com. То есть kongregate.com получает трафик.

Сама kongregate.com wmode то настроит, а вот куче мелких порталов пофиг, они не будут заморачиваться. В итоге на этих порталах игра не запустится. А значит kongregate.com не получит трафик.

Поэтому kongregate.com не покупает игры на старлинг.

kongregate.com здесь просто для примера, я просто суть хотел донести.

Ясно, хороший пример

caseyryan
23.12.2015, 08:47
А мне кажется, что игры на GPU флеш не берут, потому что флеш скоро умрет и всем пофиг :D

Из этой темы у меня возникает вопрос: если игра на столько наворочена, что требует GPU, то зачем ее размещать на каких-то порталах? Сделай под мобилы и продавай на маркетах) Там GPU как раз в цене

callme
23.12.2015, 10:04
Под порталы не нужно игру раскручивать, сделал, продал, спокойно ешь свой доширак.

caseyryan
23.12.2015, 12:47
Ну так там и игры все примитивные. На пять минут.

callme
23.12.2015, 13:10
Я пишу игру, рендер кушает весь проц, потому что на экране очень много объектов. Хорошо бы переписать игру на старлинге. Но я буду продавать её порталам. Потому что игра скучная, на мобилках ей делать нечего.

zCHESNOKz
23.12.2015, 14:33
Я пишу игру, рендер кушает весь проц, потому что на экране очень много объектов. Хорошо бы переписать игру на старлинге. Но я буду продавать её порталам. Потому что игра скучная, на мобилках ей делать нечего.

Аналогично. Только не скушная) а на мобылы не хочу лезть. Так как ненавижу все эти игры на сенсорных телефонах. Кнопки - форева!!

Bletraut
23.12.2015, 17:01
А потом начнутся проблемы, из за того что игра на GPU. И никто не захочет брать, потому что лень будет wmode настраивать. И прокляну тот день когда решился делать игру на старлинге)

Мне кажется подобная проблема осталась в далеком 2011.

zCHESNOKz
23.12.2015, 17:08
Мне кажется подобная проблема осталась в далеком 2011.

Кажется или на старлинге пишешь?)

caseyryan
23.12.2015, 19:11
Так как ненавижу все эти игры на сенсорных телефонах. Кнопки - форева!!

Ты игры для себя делаешь или для игроков? Если для себя, то вопросов нет. Если для игроков, то какая разница что ты там навидишь а что нет?)
Сенсор гораздо круче кнопок. и возможностей больше дает.

GBee
23.12.2015, 19:16
Сенсор гораздо круче кнопок. и возможностей больше дает.
Эмулятор старых приставок на сенсоре - это ад и слезы. Я ЧП на денди еле прошел.

ZackMercury
23.12.2015, 19:33
Джойстики не не слышали?)

caseyryan
23.12.2015, 20:08
Джойстики не не слышали?)
Никогда не понимал, зачем для телефона еще и геймпады делают. Это же дикое извращение

ZackMercury
23.12.2015, 20:16
Для телефона мало кто делает. Можно подключить геймпад от PS3, или от компьютера по USB или беспроводным каналам связи, и использовать одну из многих программ, транслирующих сигналы в жесты сенсора, либо играть в игры, адаптированные для игры с геймпадом.

GBee
23.12.2015, 20:58
Джойстики не не слышали?)

На смартфоне в метро?

caseyryan
23.12.2015, 21:31
На смартфоне в метро?
Да, есть такое) Мы с тобой слишком старые, чтобы это понять :D

zCHESNOKz
23.12.2015, 21:39
Да, есть такое) Мы с тобой слишком старые, чтобы это понять :D

XXX long passion :D

ZackMercury
23.12.2015, 22:54
Как раз старые должны помнить, как удобно было играть на приставках с помощью джойстика. Это молодёжь сейчас привыкла тыкать по стеклу и им теперь всё равно.

GBee
24.12.2015, 00:23
Как раз старые должны помнить, как удобно было играть на приставках с помощью джойстика. Это молодёжь сейчас привыкла тыкать по стеклу и им теперь всё равно.
Старые помнят, старые не понимают, как это делать в толпе народа на улице.

ZackMercury
24.12.2015, 01:11
Когда тебе есть дело до толпы - это старость, да)
Нет конечно, как раз молодёжь больше всего по сторонам оглядывается, и нервничает по поводу взглядов и ухмылок в их сторону.
С возрастом человек учится концентрировать внимание, и теряет рассеянность внимания. Ему становится абсолютно без разницы, есть перед ним толпа, человек, или вообще никого нет.
Вы попробуйте потаращиться на юнца, который будет играть в метро, он пооборачивается, пооборачивается, и спрячет.

caseyryan
24.12.2015, 06:39
Когда тебе есть дело до толпы - это старость, да)
Нет конечно, как раз молодёжь больше всего по сторонам оглядывается, и нервничает по поводу взглядов и ухмылок в их сторону.
С возрастом человек учится концентрировать внимание, и теряет рассеянность внимания. Ему становится абсолютно без разницы, есть перед ним толпа, человек, или вообще никого нет.
Вы попробуйте потаращиться на юнца, который будет играть в метро, он пооборачивается, пооборачивается, и спрячет.

Да ты теоретик во всем, как я погляжу) Все люди разные. У меня отец наоброт с возрастом все более скрытным становится. Ему не комфортно в толпе и он всегда старается куда-то свалить подальше ото всех. Очень не любит, когда на него смотрят.
Как раз старые должны помнить, как удобно было играть на приставках с помощью джойстика. Это молодёжь сейчас привыкла тыкать по стеклу и им теперь всё равно.
Когда ты уже лет 15 не играл на приставке с джойстиком, а сенсорным устройством пользуешься постоянно, то не думаешь, что это не удобно. Я привык к сенсору, и мне с ним абсолютно комфортно. Нафиг не нужны лишние кнопки.
Да и вообще, это лишь вопрос тактильных ощущений. А для пальцев удобство на сенсоре создать даже проще. На джойстике ты не можешь передвинуть кнопки как тебе надо, на сенсоре - пожалуйста. Можешь настроить их положение под свою длину пальцев, задать им нужный размер, вид, отклик и т.п.

Bletraut
24.12.2015, 16:24
Кажется или на старлинге пишешь?)

Делал одну игру на старлинге под мобилы, больше не хочу с ним связываться. Я думаю, что хорошую игру возьмут и с ГПУ, а не написать примитивные крестики-нолики с ГПУ и думать, что игру никто не берет т.к. там используется аппаратное ускорение. Я вообще считаю, что подобные темы о "непокупаемости флеш игр на ГПУ" на различных блогах и форумах, обмусоливают только флешененавистики, чтобы хоть как-то опустить флеш в своих глазах.

zCHESNOKz
24.12.2015, 16:32
Делал одну игру на старлинге под мобилы, больше не хочу с ним связываться. Я думаю, что хорошую игру возьмут и с ГПУ, а не написать примитивные крестики-нолики с ГПУ и думать, что игру никто не берет т.к. там используется аппаратное ускорение. Я вообще считаю, что подобные темы о "непокупаемости флеш игр на ГПУ" на различных блогах и форумах, обмусоливают только флешененавистики, чтобы хоть как-то опустить флеш в своих глазах.

Я всегда мильком где-нигде видел что пишут о проблемах с flash gpu. Когда начинал разработку очередной игры, и стал вопрос "скворец или не скворец"- то решил спросить у людей.

И что, выходит что большинство лукавит ради какой то непонятной выгоды? Но все таки, дыма без огня не бывает. Странно, что у всех такие разные взгляды на GPU. Не знающих людей это настораживает и как то отпугивает (говорю за себя)

Bletraut
24.12.2015, 16:40
Я почти уверен, что подобные проблемы остались в далеком 2011, когда Stage3D назывался Molehill и был экспериментом. Думаю сейчас дела обстоят гораздо лучше. Сам старлинг мне не нравится, но это уже выбор разработчика.

zCHESNOKz
24.12.2015, 16:48
Я почти уверен, что подобные проблемы остались в далеком 2011, когда Stage3D назывался Molehill и был экспериментом. Думаю сейчас дела обстоят гораздо лучше. Сам старлинг мне не нравится, но это уже выбор разработчика.

Писал как то Портеру из FGL:




Я: Can I use in the game Stage3D (Starling)?
This is good or bad? As sponsors look to it?

Он: Stage3D works well, and as long as you're outputting a SWF or .apk, you should be good to go.
I believe most sponsors support Wmode = direct, as that's been around for years now, so no issues there.

caseyryan
25.12.2015, 08:20
As sponsors look to it?
As - (для справки) переводится как "как" только при сравнении. Если нужно спросить "Как?", то нужно использовать How

zCHESNOKz
25.12.2015, 13:18
As - (для справки) переводится как "как" только при сравнении. Если нужно спросить "Как?", то нужно использовать How

Конечно спасибо)) Но , я подлец, пользуюсь только google переводчиком. И как то даже не собираюсь учить английский язык. Хотя осознанно понимаю всю пользу данного скила. Гореть в аду мне за это :rolleyes:

Что бы что то сделать один раз, можно и обойтись без мотивации. А вот, если что то делать на протяжении долгого времени, то в роли топлива для действий выступает мотив. Вряд ли я в своей жизни его найду. Если только не перееду в англ. говорящее место. Увы
:(

Bletraut
25.12.2015, 17:09
Он: Stage3D works well, and as long as you're outputting a SWF or .apk, you should be good to go.
I believe most sponsors support Wmode = direct, as that's been around for years now, so no issues there.

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

zCHESNOKz
25.12.2015, 17:15
Просто что я и говорил, проблема уже в прошлом. Обмусоливать её сейчас нет необходимости, всё это лишь какие-то старпёрские взляды.

Если писать со Stage3D портальную игру, и вскоре выпускать ее на мобилы то не меньше придеться вносить изменений. Это плюс)

Хорошо, а что скажешь на счет ответа @callme?

Вы продали игру сайту kongregate.com. После чего они в вашу игру встраивают ссылки, которые ведут на kongregate.com. Потом игру бесплатно забирает куча мелких порталов. Люди играют на мелких порталах, нажимают на ссылки и попадают на kongregate.com. То есть kongregate.com получает трафик.

Сама kongregate.com wmode то настроит, а вот куче мелких порталов пофиг, они не будут заморачиваться. В итоге на этих порталах игра не запустится. А значит kongregate.com не получит трафик.

Поэтому kongregate.com не покупает игры на старлинг.

kongregate.com здесь просто для примера, я просто суть хотел донести.

caseyryan
25.12.2015, 19:35
Те, кто встаивает игры с конгрегейт наверняка убедятся хотя бы чтобы эта игра запускалась на их сайте. Иначе это их проблемы, что у них игры не работают и люди не идут на их сайт.
Да и в целом, тебе ли не пофиг, что там на каких то левых сайтах твоя игра работать не будет? Твоя задача продать конгрегейту или фгл и забить.

Добавлено через 3 минуты

Что бы что то сделать один раз, можно и обойтись без мотивации. А вот, если что то делать на протяжении долгого времени, то в роли топлива для действий выступает мотив. Вряд ли я в своей жизни его найду. Если только не перееду в англ. говорящее место. Увы
:(

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

ZackMercury
25.12.2015, 19:52
У нас в училище в кабинете английского была замечательная цитата.
Those who don't know any foreign language don't know their own one.

zCHESNOKz
25.12.2015, 19:55
У нас в училище в кабинете английского была замечательная цитата.

Хорошо бы AS3 подтянуть)

ZackMercury
25.12.2015, 19:58
Наверное, вы имеете в виду навыки алгоритмизации, а не AS3? Имея данные навыки, имея опыт в ООП, можно освоить любой язык в считанные дни и полноценно его использовать.

zCHESNOKz
25.12.2015, 20:00
Да, без мотивации никуда. Но мотивацией может выступать и то, что ты равиваешься. Я, к примеру, отлично знаю английский, и изучаю испанский и немецкий, хотя вряд ли когда-то поеду жить в испано или немецкоговорящую страну. Просто мне нравятся иностранные языки

Ничосе! Прикольно)



Да и в целом, тебе ли не пофиг, что там на каких то левых сайтах твоя игра работать не будет? Твоя задача продать конгрегейту или фгл и забить.


Хм, а случайно те кто купит игру, не рассчитывают ли на ее распространение (с брендингом) по просторах интернета и по всяким там freeflashgames.com ?

Вроде бы этим и отличаются спонсоры покупающие примари лицензию вместо сайтлоков !?

callme
25.12.2015, 20:01
zCHESNOKz, спроси у тех, кто часто бывает на главной странице популярных порталов. Они тесно общаются со спонсорами.

caseyryan
25.12.2015, 20:03
Наверное, вы имеете в виду навыки алгоритмизации, а не AS3? Имея данные навыки, имея опыт в ООП, можно освоить любой язык в считанные дни и полноценно его использовать.

Нельзя) Чтобы полноценно освоить что-то, потребуется довольно много времени. Уж точно не считанные дни.
За несколько дней можно подтянуть основы, не более.
Хм, а случайно те кто купит игру, не рассчитывают ли на ее распространение (с брендингом) по просторах интернета и по всяким там freeflashgames.com ?
Если у тебя купят игру, остальное тебя уже не должно тревожить. Это уже их проблемы.

ZackMercury
25.12.2015, 20:13
caseyryan, единственное, что является преградой быстрого перехода от языка к языку - синтаксис, к которому долго привыкаешь. Но всё остальное делается везде одинаково. По похожим принципам, и если опыт есть, то понять их нет проблем.

caseyryan
25.12.2015, 20:23
caseyryan, единственное, что является преградой быстрого перехода от языка к языку - синтаксис, к которому долго привыкаешь. Но всё остальное делается везде одинаково. По похожим принципам, и если опыт есть, то понять их нет проблем.

Завязывал бы ты со своей теорией) Синтаксис - это как раз то, что можно освоить за несколько часов. А главная проблема - API языка и наборы дополнительных библиотек. Да и все остальное делается не одинаково, а лишь похожим образом.

ZackMercury
25.12.2015, 20:27
API - документация. Наборы библиотек гуглятся, либо пишутся руками.
Проблема - привыкать к новым конвенциям, фишкам синтаксиса.

zCHESNOKz
25.12.2015, 20:37
caseyryan, единственное, что является преградой быстрого перехода от языка к языку - синтаксис, к которому долго привыкаешь. Но всё остальное делается везде одинаково. По похожим принципам, и если опыт есть, то понять их нет проблем.

Это вариант когда Есть опыт) Когда знал какой то язык, знаешь что он может вообще сделать. А когда учишься программировать и одновременно учишь язык - то многое зависит от того на сколько хорошо ты знаешь его синтаксис и все его возможности.

Может конечно при переходе на другой язык начинаешь отделять эти вещи друг от друга. Но для меня, человека учащегося программировать на своем первом языке - навыкиПрограммирования=знаниеAS3.

Это как с "разговорным" языком, насколько хорошо ты знаешь родной язык (все правила и нюансы, что есть что, возможности), на столько хорошо тебе дастся новый. В первый раз вырабатывается навык работы с инструментом, но завысит от того насколько хорошо ты его знаешь. Ведь если что-то им делать, то нужно знать что он вообще может и что из себя представляет.

Короче, к чему я виду! :) Надо учить AS3 и самосовершенствоватся :D

ZackMercury
25.12.2015, 21:02
Это как с "разговорным" языком, насколько хорошо ты знаешь родной язык (все правила и нюансы, что есть что, возможности), на столько хорошо тебе дастся новый.
Это выражение коммутативно.
Those who don't know any foreign language don't know their own one.
Цитата распространяется и на языки программирования в том числе.

Psycho Tiger
25.12.2015, 21:45
caseyryan, единственное, что является преградой быстрого перехода от языка к языку - синтаксис, к которому долго привыкаешь. Но всё остальное делается везде одинаково. По похожим принципам, и если опыт есть, то понять их нет проблем.
Занятно. Выходит, все языки одинаковы и в резюме можно написать "Знаю все ОО языки. Расскажите мне об используемых вами технологиях и я с вами свяжусь в течении 2 дней"? :D

ZackMercury
25.12.2015, 22:24
Нет, они не одинаковы. Вы привыкаете к английскому синтаксису быстро? Нет.
Словарь вам поможет сказать в нужное время нужное слово, но на правильный синтаксис(конвенции), быстрое вспоминание нужных слов, не важно, сколько языков вы изучили до этого - нужно время.
Вы можете изучить алгоритмизацию, шаблоны, ООП, процедуры, а затем поверхностно пройтись по всем языкам. Когда всё уляжется в голове, можно и более углублённо влезть в язык.
Поверхностное - это постепенная алгоритмизация мозга. Как говорил Гейтс - программирование учит думать логически, и поэтому каждый должен уметь это делать.
Если это есть, тогда чтобы влезть в язык более углублённо - достаточна неделя-две.
А вот на алгоритмизацию нужно значительно больше времени. "Как научиться думать, находить найпростейший путь творить" - вот, что самое трудное.
Да и матан после алгоритмизации ещё повторить... А то зубрёжка без понимания быстро угасает.

dimarik
26.12.2015, 00:48
Вау, какой тред длинный получился. Замолвлю свою точку зрения. Я так понял, что криворукие банеростроители, а в частности, автор топика, за которых ругают флеш добрались до геймдева? Иначе зачем ему draw делать? Можно сразу while (true) {};

Похоже, что все превратилось в воду. Такое бывает перед Новым Годом, особенно в центральной части Росии, в декабре идут дожди. Тред переезжает к Снегурочке.

ZackMercury
26.12.2015, 03:07
dimarik, Merry Christmas.

zCHESNOKz
26.12.2015, 10:36
Я так понял, что криворукие банеростроители, а в частности, автор топика, за которых ругают флеш добрались до геймдева?


Видимо сочетание Россия+Москва+Mail.ru высоко подымает Эго. Ну ну.

Иначе зачем ему draw делать? Можно сразу while (true) {};

Обоснуй

i.o.
26.12.2015, 15:30
Похоже, что все превратилось в воду. Такое бывает перед Новым Годом, особенно в центральной части Росии, в декабре идут дожди. Тред переезжает к Снегурочке.
А вот за центральную часть обидно было! Тут как раз зима со снегом )
Обоснуй
Все правильно он говорит. Зачем лезть в API и пытаться переписывать нативный draw(). Это безумие)
"Безумие? Это СПАРТАААА!" )))

zCHESNOKz
26.12.2015, 16:05
Все правильно он говорит. Зачем лезть в API и пытаться переписывать нативный draw(). Это безумие)
"Безумие? Это СПАРТАААА!" )))

Что значит зачем? Что за глупые вопросы?

Для чего переопределять стандартный метод класса? - что бы изменить его функционал. Расширить можно - можно, это знают все! А переписать под себя? Я например не знал, вот и решил спросить. Что здесь сверхъестественного?

Нормально объяснять нынче не в моде. Нужно, кинуть камень, высмеять и показать свое превосходство. Мда

Tails
26.12.2015, 16:18
zCHESNOKz,
Просто в переопределении этого метода нет никакого смысла. Вы не сделаете его работу быстрее. Растеризация векторного объекта происходит на уровне флешь плеера, в его собственном движке, который написан на c++.

Внешний метод draw() - это своего рода интерфейс, через который вы лишь сообщаете, как именно надо растеризовать объект. Нет никакой возможности получить доступ к коду, непосредственно выполняющему отрисовку. Да и не нужно, там наверняка сложный матан, тригонометрия и прочие прелести. Думаете, вы бы сделали лучше, чем пасаны из адоби?

Если вам хочется просто упростить интерфейс вызова draw, наследуйтесь и определите свой метод, например: myBeautifulDraw(source)
В котором просто вызывайте обычный draw, с заранее подготовленными параметрами.

zCHESNOKz
26.12.2015, 16:26
Tails, Спасибо тебе огромное, теперь мне все понятно!) :)

Политика большинства: "Человек задает глупый вопрос - надо показать свое превосходство, высмеяв его".

undefined
26.12.2015, 17:11
zCHESNOKz,а ты уверен что тормозит именно растеризация, а не отрисовка в векторе?Может оптимизировать клипы в векторе и потом рисовать через draw?

Добавлено через 4 минуты
Скорее всего тебе тут отрисовка в битмапДату особо не поможет т.к. каждый кадр все равно FP должен сначала отрисовать в векторе и только потом перегнать все в пиксели.Поэтому с битмапами эффект обратный будет(торможение, а не ускорение).

zCHESNOKz
26.12.2015, 20:27
zCHESNOKz,а ты уверен что тормозит именно растеризация, а не отрисовка в векторе?Может оптимизировать клипы в векторе и потом рисовать через draw?

Добавлено через 4 минуты
Скорее всего тебе тут отрисовка в битмапДату особо не поможет т.к. каждый кадр все равно FP должен сначала отрисовать в векторе и только потом перегнать все в пиксели.Поэтому с битмапами эффект обратный будет(торможение, а не ускорение).

я не работаю с вектором. с чего ты взял?

undefined
26.12.2015, 20:30
ээ,ну как же
Как раз мне нужно именно отрисовка клипа в Bitmapdata

zCHESNOKz
26.12.2015, 20:43
ээ,ну как же

нет, я работаю только с растром. за исключением текста, и масок.

отрисовываю растровое изображение в bitmapData

undefined
26.12.2015, 20:52
почему тогда нельзя воспользоваться copyPixels?

Добавлено через 1 минуту
отрисовываю растровое изображение в bitmapData
это растровое изображение чего?Вектора?

zCHESNOKz
26.12.2015, 21:15
почему тогда нельзя воспользоваться copyPixels?

draw переносит пиксели с экранного объекта в bitmapData (мне как раз это и нужно)
а copyPixel копирует пиксели с уже существующей bitmapData, принимая параметром (bitmapData)

это растровое изображение чего?Вектора?

растровое изображение.png

undefined
26.12.2015, 21:16
что из себя этот экранный объект представляет?Векторная анимация?

zCHESNOKz
26.12.2015, 21:17
что из себя этот экранный объект представляет?Векторная анимация?

мувик содержащий растровую картинку

undefined
26.12.2015, 21:26
ну тут все тоже самое что и для векторных мувиков.Такую анимацию отрисовывает векторный движок FP перерисовывать это еще в битмапу смысла нет.Выигрыша оно не даст.Другое дело что если у тебя несколько одинаковых анимаций на экране - будет быстрее их копировать с одной битмапдаты.Тогда можно и copyPixels воспользоваться.

zCHESNOKz
26.12.2015, 21:36
Другое дело что если у тебя несколько одинаковых анимаций на экране - будет быстрее их копировать с одной битмапдаты.Тогда можно и copyPixels воспользоваться.

намного быстрее!

ну тут все тоже самое что и для векторных мувиков.Такую анимацию отрисовывает векторный движок FP перерисовывать это еще в битмапу смысла нет.Выигрыша оно не даст.


с чего ты взял?) пробовал что ли?

undefined
26.12.2015, 21:42
А ты сам как думаешь, Adobe писал для метода draw отдельный растеризатор? Отрисовка в битмапдату происходит не быстрее отрисовки на экран.

Добавлено через 4 минуты
намного быстрее!
Тогда в чем проблема?Все анимации разные?

zCHESNOKz
26.12.2015, 21:53
А ты сам как думаешь, Adobe писал для метода draw отдельный растеризатор? Отрисовка в битмапдату происходит не быстрее отрисовки на экран.

я думаю сэкономить на этом можно, я пробовал. насчет отдельного "растеризатора" - в адобе написано про draw Этот метод напрямую соответствует тому, как рисуются объекты с помощью стандартного векторного средства визуализации в интерфейсе инструмента разработки.
но, при стандартной визуализации, я предполагаю, flash сопоставляет растерезуемый клип со всем списком отображения, который находиться под этим клипом, налаживаются альфа, рендерятся края и т.п., это отнимает процесорное время. а draw в свою очередь визуализирует клип, отдельно от списка отображения, просто копируя его пиксели. Возможно в этом и разница. Я могу ошибаться, конечно, но факты говорят за себя, и по моим тестам draw дает лучший результат нежели "стандартного векторного средства визуализации " как то так

Добавлено через 2 минуты
А ты сам как думаешь, Adobe писал для метода draw отдельный растеризатор? Отрисовка в битмапдату происходит не быстрее отрисовки на экран.

Добавлено через 4 минуты

Тогда в чем проблема?Все анимации разные?

Смотря какая анимация. Смотря сколько в ней кадров. Если я кеширую свою анимацию, она мигом мне займет много сотен мб оперативки, ибо в ней 150+ кадров. Так что кеширование мне не подходит в данном случае

undefined
26.12.2015, 22:07
по моим тестам draw дает лучший результат нежели "стандартного векторного средства визуализации "
ну может какие-то копейки можно сэкономить, но основную долю времени отнимает отрисовка в векторе.Поэтому, возможно, оптимизировать надо сами анимации.

Добавлено через 1 минуту
Так почему copyPixels не подходит? На экране 100500 разных анимаций?
Еще можно попробовать рисовать через drawWithQuality() с качеством пониже.

Добавлено через 6 минут
Смотря какая анимация. Смотря сколько в ней кадров.
я не про кеширование,а про то, что если у тебя на экране одна и та же анимация много раз рисуется, то можно просто для первой анимации отрисовать кадр через draw,а для остальных клепать копии через copyPixels
для второго кадра анимации -аналогично и т.д.

zCHESNOKz
28.12.2015, 19:36
ну может какие-то копейки можно сэкономить, но основную долю времени отнимает отрисовка в векторе.Поэтому, возможно, оптимизировать надо сами анимации.

Добавлено через 1 минуту
Так почему copyPixels не подходит? На экране 100500 разных анимаций?
Еще можно попробовать рисовать через drawWithQuality() с качеством пониже.

Добавлено через 6 минут

я не про кеширование,а про то, что если у тебя на экране одна и та же анимация много раз рисуется, то можно просто для первой анимации отрисовать кадр через draw,а для остальных клепать копии через copyPixels
для второго кадра анимации -аналогично и т.д.

Про какой вектор ты говоришь?) я же писал о том что работаю только с растром.

Я понял, не кеширование а повторное использование. В данном случае - bitmapData. Это один из основных методов оптимизации.

Но если наши одинаковые анимации должны проигрываться на разных кадрах (в основном такие анимации и нужны)? Тогда этот метод не подойдет?!

undefined
28.12.2015, 21:51
zCHESNOKz, надоело гадать на кофейной гуще.Выложи свой fla и покажи где и что тормозит

zCHESNOKz
29.12.2015, 10:22
zCHESNOKz, надоело гадать на кофейной гуще.Выложи свой fla и покажи где и что тормозит

ну да. ок, позже выложу в AS3 раздел, глянешь

i.o.
29.12.2015, 10:34
http://www.mobygames.com/images/shots/l/627319-mortal-kombat-3-genesis-screenshot-finish-him.png
Простите, не удержался)

Tails
29.12.2015, 11:05
i.o.,
BBYBY

dimarik
30.12.2015, 19:38
Ну тут как бы флейм, пусть пока городит что вздумается. Вдруг что дельное выдаст ) А так, да, за технотроллинг плюс получит. Если еще раз полезет в раздел AS3.

Добавлено через 16 минут
Ух, пропустил.

Видимо сочетание Россия+Москва+Mail.ru высоко подымает Эго. Ну ну.
Обоснуй

Анимация клипа отрисовывается каждый кадр.
Это правда. Правда, тормозит.

zCHESNOKz
30.12.2015, 21:13
Ну тут как бы флейм, пусть пока городит что вздумается. Вдруг что дельное выдаст ) А так, да, за технотроллинг плюс получит. Если еще раз полезет в раздел AS3.


Что и кому ты пытаешься доказать?