forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=109)
-   -   Эффекты из 2Д игр. (http://forum.boolean.name/showthread.php?t=12801)

teremochek 03.07.2010 15:36

Эффекты из 2Д игр.
 
Поделитесь идеями реализации эффектов из каких-нибуть игр. Вот например
на "Super Nintendo" есть эффект своеобразного растворения с увеличением пикселей. Или в игре "Oddworld" есть эффект
"расходящиеся волны"...

Arles 03.07.2010 16:16

Ответ: Эффекты из 2Д игр.
 
ИМХО. Это все проще анимационной картинкой делать, в этом случае и алгоритма никакого непонадобиться)

teremochek 04.07.2010 22:22

Ответ: Эффекты из 2Д игр.
 
Цитата:

Сообщение от Arles (Сообщение 152697)
ИМХО. Это все проще анимационной картинкой делать, в этом случае и алгоритма никакого непонадобиться)

Ага. Меня интересует, что можно сделать средствами BlitzMax.
В основном что у нас имееться:
SetRotatiion
SetScale
SetColor
SetAlpha

Как мне кажется очень интересные эффекты можно делать с помощью альфы(прозрачностьи)
Вот прочитав тут в соседней теме, ко мне пришла идея:
Создать 2 картинки, первую обезцветить.
Вторую постепенно делать прозрачной..
- таким образом можно добиться эффекта окаменения(как в "Heroes 3")

teremochek 04.07.2010 22:42

Ответ: Эффекты из 2Д игр.
 
Недавно играл в "Ys 1&2 COMPLETE"
Увидел там эффект темноты с кругом света.
Захотелось сделать нечто подобное.
Конечно "ничего особенного",но вдруг каму пригодиться...

width=1248
height=1024
depth=0
Graphics width,height,depth
SetMaskColor(255,0,255) ' Newidimiy cwet
SetClsColor(255,255,255)


SetBlend(ALPHABLEND)
'SetBlend(LIGHTBLEND)
AutoMidHandle( enable )
AutoImageFlags( 1 )

image1=LoadImage("sprite/bmax120.png",1)
image2=LoadImage("sprite/ten.png",1)

While Not KeyHit(KEY_ESCAPE)

SetScale(5,5)
SetAlpha(1);DrawImage image1,300,300
SetScale(10,10)
MidHandleImage(image2)

SetAlpha(0.4+s#);SetScale(10,10);DrawImage image2,x,y
SetAlpha(0.4+s#);SetScale(11,11);DrawImage image2,x,y
SetAlpha(0.4+s#);SetScale(12,12);DrawImage image2,x,y
SetAlpha(0.4+s#);SetScale(13,13);DrawImage image2,x,y
SetAlpha(0.4+s#);SetScale(14,14);DrawImage image2,x,y
SetAlpha(0.4+s#);SetScale(15,15);DrawImage image2,x,y

SetAlpha(0.4+s#);SetScale(16,16);DrawImage image2,x,y
SetAlpha(0.5+s#);SetScale(17,17);DrawImage image2,x,y
SetAlpha(0.6+s#);SetScale(18,18);DrawImage image2,x,y
SetAlpha(0.7+s#);SetScale(19,19);DrawImage image2,x,y
SetAlpha(1) ;SetScale(30,30);DrawImage image2,x,y

If shadow=1;s#=s#-0.05;If s#<=0;shadow=0
If shadow=0;s#=s#+0.05;If s#>=0.2;shadow=1

If KeyDown(key_UP)=True; y=y-5
If KeyDown(key_DOWN)=True; y=y+5
If KeyDown(key_LEFT)=True; x=x-5
If KeyDown(key_RIGHT)=True; x=x+5


Flip(50)
Cls
Wend

http://teremochek2008.narod.ru/shadow_circle.rar

teremochek 06.07.2010 17:17

Ответ: Эффекты из 2Д игр.
 
Вот сделал эффект растворения с увеличением пикселей.(Super Nintendo)
Делается с помощь Grabimage. Правда не знаю как это будет в реальном времени(Наверно будет тормозить, так-что лучше сначала просчитать)
http://teremochek2008.narod.ru/super_nintendo_ef1.rar


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot