purebasic.info

PureBasic forum
Текущее время: Ср апр 25, 2018 7:20 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 11, 2013 11:21 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пт окт 31, 2008 4:49 pm
Сообщений: 717
Благодарил (а): 1 раз.
Поблагодарили: 4 раз.
Пункты репутации: 0
Цитата:
это нормальное явление для игр каждую секунду по сколько-то раз перерисовывать одну и туже картинку?

Ага. Команда FlipBuffer() Выводит содержимое буфера на экран, если ты не обновил (нарисовал) фоновую картинку в буфер, или не очистил буфер, то получишь движущийся объект со "следом". Твой динамический объект будет забивать фон своими "старыми" изображениями.

Rotate - вращает спрайт, относительно его центра. Для вращения относительно другого центра нужно самому написать процедуру.

_________________
мой форум http://spaceminers.mybb2.ru
Dungeon Raider (Ogre). Game video: http://www.youtube.com/watch?v=ZlhBgPJhAxI


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: 2D спрайты и альфа-канал
СообщениеДобавлено: Ср дек 18, 2013 10:32 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2270
Откуда: Russia — Belarus
Благодарил (а): 5 раз.
Поблагодарили: 71 раз.
Пункты репутации: 11
Как лучше всего установить нужную прозрачность для загруженного изображения через LoadImage()?
Что бы выводить изображение с нужной прозрачностью в ImageGadget().

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: 2D спрайты и альфа-канал
СообщениеДобавлено: Ср дек 18, 2013 9:22 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6246
Благодарил (а): 17 раз.
Поблагодарили: 182 раз.
Пункты репутации: 48
Правильный PNG?

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: 2D спрайты и альфа-канал
СообщениеДобавлено: Чт дек 19, 2013 10:29 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2270
Откуда: Russia — Belarus
Благодарил (а): 5 раз.
Поблагодарили: 71 раз.
Пункты репутации: 11
kvitaliy писал(а):
Правильный PNG?

Нет же, PNG файл без прозрачности.

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: 2D спрайты и альфа-канал
СообщениеДобавлено: Чт дек 19, 2013 2:40 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6246
Благодарил (а): 17 раз.
Поблагодарили: 182 раз.
Пункты репутации: 48
qpAHToMAS писал(а):
kvitaliy писал(а):
Правильный PNG?

Нет же, PNG файл без прозрачности.

Да ладно? Я же сказал правильный PNG, имеет альфа канал
http://forum.boolean.name/showthread.php?t=15611

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: 2D спрайты и альфа-канал
СообщениеДобавлено: Чт дек 19, 2013 5:58 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6246
Благодарил (а): 17 раз.
Поблагодарили: 182 раз.
Пункты репутации: 48
А если стандартный способ
Код:
1
2
DisplayTransparentSprite(#Sprite, x, y [, Intensity [, Color]])
 


_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: 2D спрайты и альфа-канал
СообщениеДобавлено: Чт дек 19, 2013 6:24 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11108
Благодарил (а): 4 раз.
Поблагодарили: 395 раз.
kvitaliy писал(а):
А если стандартный способ
Код:
1
2
DisplayTransparentSprite(#Sprite, x, y [, Intensity [, Color]])
 

qpAHToMAS писал(а):
Что бы выводить изображение с нужной прозрачностью в ImageGadget().

Как одно с другим связанно?

Можно создать временную картинку и наложить на нее рисунок функцией DrawAlphaImage() с требуемой прозрачностью.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: 2D спрайты и альфа-канал
СообщениеДобавлено: Чт дек 19, 2013 6:31 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2270
Откуда: Russia — Belarus
Благодарил (а): 5 раз.
Поблагодарили: 71 раз.
Пункты репутации: 11
Вот что я хочу:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
EnableExplicit
 
UsePNGImageEncoder()
UsePNGImageDecoder()
 
#png = 0
#png_two = 1
#png_path = "C:\png.png"
#png_output_path = "C:\png_output.png"
 
If LoadImage(#png, #png_path)
  If CreateImage(#png_two, ImageWidth(#png), ImageHeight(#png), 32)
    If StartDrawing(ImageOutput(#png_two))
      DrawingMode(#PB_2DDrawing_AllChannels)
      DrawAlphaImage(ImageID(#png), 0, 0, 128)
      StopDrawing()
    EndIf
    SaveImage(#png_two, #png_output_path, #PB_ImagePlugin_PNG)
    FreeImage(#png_two)
  EndIf
  FreeImage(#png)
EndIf


Только проще, без #png_two.

Пётр писал(а):
Можно создать временную картинку и наложить на нее рисунок функцией DrawAlphaImage() с требуемой прозрачностью.

Только что этот пост увидел. Собственно да, код выше так и делает...

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB