Просмотр полной версии : Возможно ли переопределение(override) метода BitmapData.draw() ?
zCHESNOKz
22.12.2015, 14:21
Можно ли урезать функционал данного метода? Если да, то как? Если нет то почему?
опечатка, имеется в виду - BitmapData.draw()
Задумка в том чтобы посмотреть данный метод изнутри, что в нем есть. А что в нем лишнего и мне не понадобиться - убрать.
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
код в студию
так а зачем рисовать в 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() рисовать в растр нежели использовать вектор.
zCHESNOKz, что за клипы такие?
Может стоит попробовать Starling+GAF. Все эти проблемы отпадут сами собой.
zCHESNOKz
22.12.2015, 19:39
zCHESNOKz, что за клипы такие?
Может стоит попробовать Starling+GAF. Все эти проблемы отпадут сами собой.
А потом начнутся проблемы, из за того что игра на GPU. И никто не захочет брать, потому что лень будет wmode настраивать. И прокляну тот день когда решился делать игру на старлинге)
Мне кажется метод 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. вот
Вы продали игру сайту 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 как раз в цене
Под порталы не нужно игру раскручивать, сделал, продал, спокойно ешь свой доширак.
caseyryan
23.12.2015, 12:47
Ну так там и игры все примитивные. На пять минут.
Я пишу игру, рендер кушает весь проц, потому что на экране очень много объектов. Хорошо бы переписать игру на старлинге. Но я буду продавать её порталам. Потому что игра скучная, на мобилках ей делать нечего.
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
Так как ненавижу все эти игры на сенсорных телефонах. Кнопки - форева!!
Ты игры для себя делаешь или для игроков? Если для себя, то вопросов нет. Если для игроков, то какая разница что ты там навидишь а что нет?)
Сенсор гораздо круче кнопок. и возможностей больше дает.
Сенсор гораздо круче кнопок. и возможностей больше дает.
Эмулятор старых приставок на сенсоре - это ад и слезы. Я ЧП на денди еле прошел.
ZackMercury
23.12.2015, 19:33
Джойстики не не слышали?)
caseyryan
23.12.2015, 20:08
Джойстики не не слышали?)
Никогда не понимал, зачем для телефона еще и геймпады делают. Это же дикое извращение
ZackMercury
23.12.2015, 20:16
Для телефона мало кто делает. Можно подключить геймпад от PS3, или от компьютера по USB или беспроводным каналам связи, и использовать одну из многих программ, транслирующих сигналы в жесты сенсора, либо играть в игры, адаптированные для игры с геймпадом.
Джойстики не не слышали?)
На смартфоне в метро?
caseyryan
23.12.2015, 21:31
На смартфоне в метро?
Да, есть такое) Мы с тобой слишком старые, чтобы это понять :D
zCHESNOKz
23.12.2015, 21:39
Да, есть такое) Мы с тобой слишком старые, чтобы это понять :D
XXX long passion :D
ZackMercury
23.12.2015, 22:54
Как раз старые должны помнить, как удобно было играть на приставках с помощью джойстика. Это молодёжь сейчас привыкла тыкать по стеклу и им теперь всё равно.
Как раз старые должны помнить, как удобно было играть на приставках с помощью джойстика. Это молодёжь сейчас привыкла тыкать по стеклу и им теперь всё равно.
Старые помнят, старые не понимают, как это делать в толпе народа на улице.
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 ?
Вроде бы этим и отличаются спонсоры покупающие примари лицензию вместо сайтлоков !?
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
Нет, они не одинаковы. Вы привыкаете к английскому синтаксису быстро? Нет.
Словарь вам поможет сказать в нужное время нужное слово, но на правильный синтаксис(конвенции), быстрое вспоминание нужных слов, не важно, сколько языков вы изучили до этого - нужно время.
Вы можете изучить алгоритмизацию, шаблоны, ООП, процедуры, а затем поверхностно пройтись по всем языкам. Когда всё уляжется в голове, можно и более углублённо влезть в язык.
Поверхностное - это постепенная алгоритмизация мозга. Как говорил Гейтс - программирование учит думать логически, и поэтому каждый должен уметь это делать.
Если это есть, тогда чтобы влезть в язык более углублённо - достаточна неделя-две.
А вот на алгоритмизацию нужно значительно больше времени. "Как научиться думать, находить найпростейший путь творить" - вот, что самое трудное.
Да и матан после алгоритмизации ещё повторить... А то зубрёжка без понимания быстро угасает.
Вау, какой тред длинный получился. Замолвлю свою точку зрения. Я так понял, что криворукие банеростроители, а в частности, автор топика, за которых ругают флеш добрались до геймдева? Иначе зачем ему draw делать? Можно сразу while (true) {};
Похоже, что все превратилось в воду. Такое бывает перед Новым Годом, особенно в центральной части Росии, в декабре идут дожди. Тред переезжает к Снегурочке.
ZackMercury
26.12.2015, 03:07
dimarik, Merry Christmas.
zCHESNOKz
26.12.2015, 10:36
Я так понял, что криворукие банеростроители, а в частности, автор топика, за которых ругают флеш добрались до геймдева?
Видимо сочетание Россия+Москва+Mail.ru высоко подымает Эго. Ну ну.
Иначе зачем ему draw делать? Можно сразу while (true) {};
Обоснуй
Похоже, что все превратилось в воду. Такое бывает перед Новым Годом, особенно в центральной части Росии, в декабре идут дожди. Тред переезжает к Снегурочке.
А вот за центральную часть обидно было! Тут как раз зима со снегом )
Обоснуй
Все правильно он говорит. Зачем лезть в API и пытаться переписывать нативный draw(). Это безумие)
"Безумие? Это СПАРТАААА!" )))
zCHESNOKz
26.12.2015, 16:05
Все правильно он говорит. Зачем лезть в API и пытаться переписывать нативный draw(). Это безумие)
"Безумие? Это СПАРТАААА!" )))
Что значит зачем? Что за глупые вопросы?
Для чего переопределять стандартный метод класса? - что бы изменить его функционал. Расширить можно - можно, это знают все! А переписать под себя? Я например не знал, вот и решил спросить. Что здесь сверхъестественного?
Нормально объяснять нынче не в моде. Нужно, кинуть камень, высмеять и показать свое превосходство. Мда
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 раздел, глянешь
http://www.mobygames.com/images/shots/l/627319-mortal-kombat-3-genesis-screenshot-finish-him.png
Простите, не удержался)
Ну тут как бы флейм, пусть пока городит что вздумается. Вдруг что дельное выдаст ) А так, да, за технотроллинг плюс получит. Если еще раз полезет в раздел AS3.
Добавлено через 16 минут
Ух, пропустил.
Видимо сочетание Россия+Москва+Mail.ru высоко подымает Эго. Ну ну.
Обоснуй
Анимация клипа отрисовывается каждый кадр.
Это правда. Правда, тормозит.
zCHESNOKz
30.12.2015, 21:13
Ну тут как бы флейм, пусть пока городит что вздумается. Вдруг что дельное выдаст ) А так, да, за технотроллинг плюс получит. Если еще раз полезет в раздел AS3.
Что и кому ты пытаешься доказать?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.