|
Основной форум Сюда все проблемы связанные с программированием. |
11.04.2011, 17:41
|
#1
|
Нуждающийся
Регистрация: 12.12.2010
Адрес: SaratoF
Сообщений: 85
Написано 5 полезных сообщений (для 5 пользователей)
|
Заливка экрана
Тут столкнулся с такой бедой..хочется залить прозрачным цветом, допустим в игре пауза, в центре менюшка, а остальное - сама игра, только залитая прозрачным прямоугольником, типа как в опере.... Кто нибудь пытался такое чудо сделать? Если да, то подскажите как)) Буду очень благодарен..
|
(Offline)
|
|
11.04.2011, 17:57
|
#2
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: Заливка экрана
Исходный код (что в библиотеке):
public class Lib_alphabox
{
public static void fillrecta(int x, int y, int w, int h, int c)
{
if (w < 0) { x += w; w = -w; }
if (h < 0) { y += h; h = -h; }
int _[] = new int[w * h];
for (int i = 0; i < _.length; i++) _[i] = c;
M.G.drawRGB(_, 0, w, x, y, w, h, true);
}
}
Настоящий исходный код (что я писал):
lib_alphabox
{
proc fillrecta(int x, int y, int w, int h, int c)
{
if (w < 0) { x += w; w = -w; }
if (h < 0) { y += h; h = -h; }
int _[] = new int[w * h];
for (int i = 0; i < _.length; i++) _[i] = c;
MPScreen.drawRGB(_, 0, w, x, y, w, h, true);
}
}
Состоит из одной процедуры,
DrawRectA(X, Y, Width, Height, Color: Integer)
Color указывать как 32-битное число, к примеру $80000000 для полу-прозрачного черного цвета.
Скомпилированная библиотека во вложении.
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
Последний раз редактировалось YellowAfterlife, 11.04.2011 в 17:58.
Причина: Параметры
|
(Offline)
|
|
12.04.2011, 12:15
|
#3
|
Нуждающийся
Регистрация: 12.12.2010
Адрес: SaratoF
Сообщений: 85
Написано 5 полезных сообщений (для 5 пользователей)
|
Ответ: Заливка экрана
Никаких изменений, кстати, ошибся ты немного
Состоит из одной процедуры,
DrawRectA(X, Y, Width, Height, Color: Integer)
|
Процедура FillRectA(X, Y, Width, Height, Color: Integer)
Пишу FillRectA(0,0,200,300,$80000000) - эффекта ноль,
Пишу FillRectA(0,0,200,300,80000000) - эффекта тоже ноль,
Пишу FillRectA(0,0,200,300,115762764 - опять же никакого эффекта.(
Что я не так делаю? Напиши пример пожалуйста
|
(Offline)
|
|
12.04.2011, 13:48
|
#4
|
Разработчик
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений (для 225 пользователей)
|
Ответ: Заливка экрана
Переделал либу - все работает!. (см.аттач, пример внутри)
__________________
Уважай собеседника, а лучше подари ему +
|
(Offline)
|
|
13.04.2011, 01:22
|
#5
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: Заливка экрана
Оригинал либы работает - тестировалось в MP3.3Beta.
Пример проэкта - не до конца адекватная демонстрация с движущимися по синусоиде грушами и белыми (полупрозрачными!) полосами проходящими сверху них.
Дополнительно, эффект "следа" достигается зарисовкой фона (в начале кадра) полупрозрачным а не сплошным цветом.
Проэкт и скриншот (в этом же вся суть, правда?) во вложении.
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
|
(Offline)
|
|
13.04.2011, 10:54
|
#6
|
Нуждающийся
Регистрация: 12.12.2010
Адрес: SaratoF
Сообщений: 85
Написано 5 полезных сообщений (для 5 пользователей)
|
Ответ: Заливка экрана
Вообще ничего не понимаю у меня не заливает прозрачным цветом, даже ваши проекты не робят...
|
Прошу прощения, всё работает, просто надо было смотреть в другом эмуле)) Ещё раз извиняюсь))
Последний раз редактировалось kizup, 14.04.2011 в 18:50.
Причина: тупанул немного...
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:23.
|