Вверх ↑
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
#91: 2008-01-29 15:40:50 ЛС | профиль | цитата
nesco писал(а):
Тут надо просто попробовать, и, если надо будет добавить стирание, то добавить его

Не надо ни пробовать, ни добавлять.

nesco писал(а):
"А кто бы за меня подумал" -- их каждодневный девиз

Это не пользователи, а случайные посетители.
HiAsm не предназначен для удовлетворения этого девиза.

Сторонники этого девиза могут идти куда подальше, и ветер им - в соответствующее место
карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#92: 2008-01-29 16:01:57 ЛС | профиль | цитата
Galkov писал(а):
Не надо ни пробовать
Ну попробовать-то хочется, интересно все же. Вот добавлять без обсуждения, а тем более, без обкатки на примере, я не собираюсь, хотя мне немного непонятна твоя категоричность.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#93: 2008-01-29 16:19:10 ЛС | профиль | цитата
nesco писал(а):
хотя мне немного непонятна твоя категоричность

Вот это и плохо, что непонятна
Это СХЕМНЫЕ вопросы.
Это видно сразу, и до написания кодов.

Вот тебе ЭМУЛЯТОР нашего элемента

#sha
Add(ODialog,5860046,161,105)
{
Select=1
link(onExecute,8308765:doLoad,[])
}
Add(MultiElementEx,8308765,217,105)
{
@Hint=#28:ImageLoader --- ЭМУЛЯТОР !!!|
link(onLoad,14809084:doAdd,[])
}
BEGIN_SDK
Add(EditMultiEx,268059,21,21)
{
WorkCount=#6:doLoad|
EventCount=#6:onLoad|
link(doLoad,7447485:doValue,[(73,27)(73,69)])
}
Add(Timer,10074008,154,63)
{
@Hint=#54:Здесь выполняется очень сложная и много трудная работа|
Interval=300
Enable=1
AutoStop=1
link(onTimer,12492811:doData,[])
}
Add(Memory,7447485,98,63)
{
link(onData,10074008:doTimer,[])
}
Add(DoData,12492811,217,63)
{
link(onEventData,268059:onLoad,[(285,69)(285,27)])
link(Data,7447485:Value,[(223,51)(163,51)(163,107)(104,107)])
}
END_SDK
Add(ListBox,14809084,280,105)
{
Left=70
Top=15
Width=305
Height=225
}
Add(Button,12311928,98,105)
{
Left=10
Top=15
link(onClick,5860046:doExecute,[])
}
Вах, а как же добавлять при ODialog.Select=Multi

Нет ничего глупее, чем в этом примере "просто попробовать, и, если надо будет - добавить", такую функциональность в ТАЙМЕР (по твоей логике - именно так)
Еще раз: Не надо ни пробовать, ни добавлять

И тем более, не надо считать, что наш "простой пользователь" настолько тупой, что не справится с этой задачей
карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#94: 2008-01-29 16:30:23 ЛС | профиль | цитата
Galkov писал(а):
Нет ничего глупее, чем в этом примере "просто попробовать, и, если надо будет - добавить", такую функциональность в таймер

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

0
Ответов: 9906
Рейтинг: 351
#95: 2008-01-29 16:50:59 ЛС | профиль | цитата
Это ты о разных, а я об одной.

Об той, которую ты регулярно пытаешься выполнить (причем, считая ее каждый раз -- разной) во всех элементах
Потому-что считаешь, что если 100 элементов впихнуть в один, то:
nesco писал(а):
они максимально упрощают ему процесс конструирования, а не наоборот, усложняют и заставляют собирать схемы не из одного компонента, а из целой кучи, в которой сами потом и путаются.


Наверное, теперь ты считаешь, что функциональность Repeat надо всенепременно запихать внутрь элемента Application, и завести ему (элементу Application) точки doStop, Op1, Op2, все св-ва из Repeat
Ну конечно же, это сильно упростит процесс конструирования
Действительно, а вдруг пользователь не умеет структурировать схему, и поэтому -- обязательно в ней запутается.
карма: 9

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#96: 2008-01-29 17:05:45 ЛС | профиль | цитата
Galkov писал(а):
Наверное, теперь ты считаешь, что функциональность Repeat надо всенепременно запихать внутрь элемента Application
Нет, нет, и еще раз нет -- я уже перестал так считать, и потому, перестал делать мультипроцессоры. Я говорил о функционале, которого нет в обычных штатных компонентах, и если бы я его там нашел, то я бы не задавал этих вопросов. Хорошо, задам вопрос иначе -- если не сложно, то назови мне компонент, который может очищать выборочный контекст окна, не трогая фон (вот только не IC, а нормальный штатный компонент)
карма: 22

0
Ответов: 9906
Рейтинг: 351
#97: 2008-01-29 17:11:25 ЛС | профиль | цитата
Img_Bmp
карма: 9

0
Ответов: 294
Рейтинг: 64
#98: 2008-01-29 17:24:16 ЛС | профиль | цитата
Я конечно извиняюсь, а можно втиснуть глас народа из простых юзеров в ваш горячий диалог?
Если речь идет об компонентах предназначенных для помещения в дистрибутив, то трудно не согласиться с Galkov, по поводу "разумного минимализма", то есть, функции, которые реально осуществить схемой, необязательно впихивать в элемент, ибо многим как в рекламе: "А мне больше и не надо")).
С другой стороны, компоненты xxxEx - аки расширенные, тоже крайне полезны и должны быть, но вполне можно обойтись их скачиванием отдельно от дистрибутива (возможно даже единым архивом)... так что каждый по-своему прав)
такая вот имха юзерская)


ImageLoader2 не видел, реально ли с его помощью будет читать *.eps (хотя бы не векторный, а растровый - PhotoshopEPS)? Вопрос не праздный, нужно по работе.
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#99: 2008-01-29 17:34:06 ЛС | профиль | цитата
Galkov писал(а):
Img_Bmp
Вот уж интересно, а как он может очищать выборочную область, если ImagrLoader специально заморачивался для чтения и отрисовки любых, в том числе и прозрачных, картинок, а не только BMP ?

Мне кажется, этот вопрос надо отложить. Я все равно сделаю пример со спрайтами с тем рисунком, который ты дал и усложню задачу, введя в рисунок прозрачность, тк он формата *.gif и должен ее поддерживать. А вот потом, можно будет говорить, как с помощью Img_Bmp можно стереть предыдущий кадр, не нарушая структуры фона. Ставить эксперимент, так до конца.


------------ Дoбавленo:


Quest писал(а):
ImageLoader2 не видел, реально ли с его помощью будет читать *.eps
Если его понимает IE, то можно. ImageLoader читает, практически все, статические растровые форматы, которые понимает IE, тк работает его функция чтения и отрисовки. Чем новее IE, тем больше форматов будет понимать ImageLoader.

------------ Дoбавленo:


Quest писал(а):
которые реально осуществить схемой
Так я и хочу это понять, какими средствами, на данные момент, можно работь с прозрачными рисунками (именно с прозрачными, а не псевдопрозрачными) у нас, в пакете Delphi
карма: 22

0
Ответов: 9906
Рейтинг: 351
#100: 2008-01-29 17:48:24 ЛС | профиль | цитата
Quest писал(а):
реально ли с его помощью будет читать

Без понятия: он читает то, что умеет читать IE - там нет никаких страшных кодов, есть команда егойному ActiveX - ПРОЧИТАЙ, гад...
На остальное можно сказать: ну не сподобились мягкотелые

Quest писал(а):
ImageLoader2 не видел

Это название топика, полученное в результате отделения от от другого (пристегивать к существующему - пока не умею)
А элемент свое название не менял


nesco писал(а):
Вот уж интересно, а как он может очищать выборочную область, если ImageLoader специально заморачивался...

А вот мне интересно, ты сам-то через пол-года поймешь, что написал, или нет
1) Что, интересно, благородный дон понимает под словом "очищать"
2) Чем очищать "отличается" от "рисовать"
2) Причем здесь вообще ImageLoader


nesco писал(а):
и усложню задачу, введя в рисунок прозрачность, тк он формата *.gif и должен ее поддерживать.

А что, GIF поддерживает прозрачность
Но задачу и сейчас можно решить с этим исходным GIF-ом - теперь это просто вопрос схемотехники.
Конкретно, задача: сделать функционально тоже самое (с теми же исходными данными), что делает пример из дистрибутива FASM (дистрибутива компилятора, а не нашего пакета)
Можно, нет вопросов.
Можно и сложнее, чтобы бублик не на месте "вертелся" (там так), а гулял по полю... например, как пьяный...
Нет проблем, вроде
карма: 9

1
Голосовали:Валерий
Разработчик
Ответов: 26151
Рейтинг: 2127
#101: 2008-01-29 17:59:29 ЛС | профиль | цитата
Galkov писал(а):
А что, GIF поддерживает прозрачность
Да вроде, *.gif и *.png поддерживают прозранчность.

Короче, я подумал и понял, что можно, а оказывается очень просто -- надо восстановить кусочек фона под спрайтом и затем отрисовать поверх новый кадр, чего-то довольно просто, концептуально. Ты уж меня извини за дотошность, интересно, все же
карма: 22

1
Голосовали:Stasie
Ответов: 9906
Рейтинг: 351
#102: 2008-01-29 18:13:17 ЛС | профиль | цитата
nesco писал(а):
надо восстановить кусочек фона под спрайтом и затем отрисовать поверх новый кадр

А что, можно было как-то подумать иначе
------------ Дoбавленo:

Правильно кажется я говорил: твоя проблема в том, что ты САМ создаешь проблемы, там, где ими и не пахло
((ну и героически преодолеваешь их после этого))
карма: 9

0
Ответов: 2125
Рейтинг: 159
#103: 2008-01-29 19:00:10 ЛС | профиль | цитата
nesco писал(а):
восстановить кусочек фона под спрайтом и затем отрисовать поверх новый кадр

Только не забывайте, что делать это желательно не прямо на экране, а в памяти, а потом готовый кусочек картинки быстренько поместить на экран. Иначе моргать будет.
Многие 2D игры, однако, подготавливают весь экран в памяти, иначе, если много спрайтов, возня с каждым в отдельности будет накладной.

карма: 1

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#104: 2008-01-29 19:05:44 ЛС | профиль | цитата
Единственный недостаток такого способа отрисовки -- это крайне низкое быстродействие.
------------ Дoбавленo:

tsdima писал(а):
Только не забывайте, что делать это желательно не прямо на экране, а в памяти, а потом готовый кусочек картинки быстренько поместить на экран
Ха, ха, ха, а вот тут я и писАл про артефакты. Очистка фонового рисунка происходит в буфере окна, а так через линки придется пропускать, и через компоненты. Ну не знаю я -- чисто детские игры получаются.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#105: 2008-01-29 21:36:43 ЛС | профиль | цитата
tsdima писал(а):
Только не забывайте, что делать это желательно не прямо на экране, а в памяти, а потом готовый кусочек картинки быстренько поместить на экран. Иначе моргать будет

Хотя моя - плохой художник, но знает и не забывает
Но поскольку моя - плохой художник, то она не проверяла про разные DC: про полученное от WM_PAINT и после BeginPaint, и про полученное после GetWindowDC

Про второе - нет вопросов, HiAsm только так и умеет, мигает как собака
А про первое: проверял кто-нибудь на мигание
карма: 9

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)