forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Создание игры (http://forum.boolean.name/showthread.php?t=177)

ZanoZa 28.10.2005 16:33

Вложений: 2
Ловите

ZanoZa 29.10.2005 14:24

Так чё скажите насчёт блура?

jimon 29.10.2005 17:05

много много много весит

KRIK 29.10.2005 18:34

Скажи! Какого фака там лежит ещё раз тоже самое в зип папке?

ZanoZa 29.10.2005 19:16

Я сам офигел это когда закачка перевалила через мегабайт :lol: :lol: :lol:
У меня чё то глюкнуло в арихваторе :rolleyes:

Diplomat 30.10.2005 01:02

Вложений: 2
Скачал. Насчет обьема- было прикольно. Эдакая рекламная акция: скачайте у нас архив "Race.zip" и вы получите его еще раз. :lol:

Насчет игрушки. Суть заключается в управлении симпатичным инопланетным унитазиком, остащенным гравитационными движками.
Физика- покореженый стандартный пример. Однако покорежен не без затей: так что задатки есть. :super:

Насчет блюра- то оного в примере не наблюдается. Изменять интенсивность блюра можно просто изменяя прозрачность плоскости, на которую копируется изображение. Чем ближе альфа к 1- тем сильнее блюр.

А вот в этом увесистом (750Кб) архиве лежит моя старая "физика" танка для стратегии. Там есть один ИМХО забавный приемчик. Посмотри.

ZanoZa 30.10.2005 18:09

Помогите запихнуть мне в код блур :SOS:

jimon 30.10.2005 22:35

а что тебе непонятно ?

ZanoZa 31.10.2005 09:31

Ваще не могу его запихнуть в код :bad:

jimon 31.10.2005 19:01

откуда ты там качал блюр я непонял
выкладываю пример arkon'a
самый быстрый для блица imho

просто пред началом главного цыкла пишеш
CreateBlurImage()

в главном цыкле
UpdateBlur(power#)

power от 0 до 1

еще незабудь вверху проги написать include "ark_blur.bb"
ps. тест ето blur.bb

ps2. и спасибо сказать не забудь :)

ZanoZa 31.10.2005 22:37

Спасибо хотя ещё не тестил :)

ZanoZa 31.10.2005 23:36

ВАЩЕ КОЗЫРНО :blink: только тормозит-это возможно убрать?

НУБ 01.11.2005 06:55

Вот немного оптимизированная версия:

Код:

Global ark_blur_image, ark_blur_texture, ark_blur_texture1, ark_sw, ark_sh,spr2,spr3,spr4,spr5,glowcam,glowsize=256

Function CreateBlurImage(cam)

        ark_sw = GraphicsWidth()
        ark_sh = GraphicsHeight()
        If GraphicsWidth()=1024 sprp#=.002
        If GraphicsWidth()=800 sprp#=.0025
        If GraphicsWidth()=640 sprp#=.003
       
;Create sprite
        ark_blur_image = CreateMesh(cam)
        Local sf = CreateSurface(ark_blur_image)
        AddVertex sf, -1, 1, 0, 0, 0
        AddVertex sf, 1, 1, 0, 1, 0
        AddVertex sf, -1, -1, 0, 0, 1
        AddVertex sf, 1, -1, 0, 1, 1
        AddTriangle sf, 0, 1, 2
        AddTriangle sf, 3, 2, 1

        EntityFX ark_blur_image, 1
        ScaleMesh ark_blur_image, 2048.0 / Float(ark_sw), 2048.0 / Float(ark_sw), 1
        PositionEntity ark_blur_image, -sprp+0, sprp+0, 2.000
        EntityOrder ark_blur_image, -2
        EntityBlend ark_blur_image,1
        ark_blur_image = ark_blur_image
       
;Create blur texture
        ark_blur_texture = CreateTexture(ark_sw, ark_sw,256)

        EntityTexture ark_blur_image, ark_blur_texture
        TextureBlend ark_blur_texture,1
        EntityAlpha ark_blur_image,0
        HideEntity ark_blur_image
End Function

Function UpdateBlur(cam,power#)
If power#>0
EntityAlpha ark_blur_image,power#

ShowEntity ark_blur_image
CopyRect *ark_sw / 2 - 512, ark_sh / 2 - 512, 1024, 1024, 0, 0, BackBuffer(), TextureBuffer(ark_blur_texture)

Else
EntityAlpha ark_blur_image,power#
HideEntity ark_blur_image
EndIf
End Function


ZanoZa 01.11.2005 11:30

Пасибо :)

ZanoZa 01.11.2005 11:31

Чуваки, а кто знает как сделать анимированный спрайт(у меня типа взрыв лента из изображений)? :SOS:

jimon 01.11.2005 19:26

в теории - создать спрайт и наложить на него anim texture :) сам непроверял - но видел в примерах

alcosholik 01.11.2005 22:43

Цитата:

Originally posted by ZanoZa@Nov 1 2005, 09:31 AM
Чуваки, а кто знает как сделать анимированный спрайт(у меня типа взрыв лента из изображений)? :SOS:
Разбиваешь свою ленту изображений на отдельные файлы с последовательной нумерацией. Например, expl0.jpg, expl1.jpg и т.д.

Потом в Блице создаешь массив:
Код:

Dim Explosion(20);число в скобках - количество кадров

;Загружаешь в массив последовательно все кадры:
For i=0 To 20
 Explosion(i)=LoadSprite("animation\expl"+i+".jpg")
 ScaleSprite Explosion(i), .2, .2
 HideEntity Explosion(i)
Next

;Далее в основном цикле пишешь:
If vIfExplode=1
 If vExplFrame>0 Then HideEntity Explosion(vExplFrame-1)
 PositionEntity Explosion(vExplFrame), x, y, z;вместо x, y и z подставляешь необходимые значения
 ShowEntity Explosion(vExplFrame)
 vExplFrame=vExplFrame+1
 If vExplFrame>20 Then vExplFrame=0: vIfExplode=0
End if

И все. Теперь, когда должен отображаться взрыв, присваиваешь переменной vIfExplode значение 1.

Diplomat 01.11.2005 23:44

А не проще Sprite=CreateSprite(), ленту грузить в анимированную текстуру Texture=LoadAnimTexture(...), а потом на спрайт применять EntityTexture Sprite,Texture,Номер_Кадра ? ;)

jimon 01.11.2005 23:56

ето я и предлогаю :)

ZanoZa 02.11.2005 10:24

Цитата:

Originally posted by Diplomat@Nov 1 2005, 10:44 PM
А не проще Sprite=CreateSprite(), ленту грузить в анимированную текстуру Texture=LoadAnimTexture(...), а потом на спрайт применять EntityTexture Sprite,Texture,Номер_Кадра ? ;)
Я так и делаю, но у меня отоброжает первый кадр, а как сделать чтобы-это двигалось?

Diplomat 02.11.2005 11:54

По многочисленным просьбам трудящихся повторяем:
Цитата:

EntityTexture Sprite,Texture,Номер_Кадра

:ok:

P.S.
"-Доктор! У меня ноги чернеют!!
-А мыть не пробовали?
-Пробовал! Не помогает! Через полгода снова чернеют!!"
Всё к тому, что иногда полезно прочесть Хелп по предложенной тебе команде. 8)

ZanoZa 02.11.2005 17:03

И чё будет двигаться?

impersonalis 02.11.2005 21:08

2alcoSHoLiK
Извини, но твой вариант - просто страх:
1) есть стандартные функции для анимированной текстуры
2) разбивка ленты на отдельные файлы снижает качество испльзования места. Если так хочешь массив, так просто разрежь в памяти ленту на кусочки ( это не сложно : каждый кадр - квадрат с известной высотой ( высота картинки)
3) Сомневаюсь, что юзание массива более рационально по памяти
и т.д.


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

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