Отдельный вид

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / Отдельный вид

Страницы: 1  новая тема

Автор Сообщение

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 28-11-2006 04:32
Это либо я такой тупой, либо ГМ кривой.
Как сделать так, чтобы у меня был второй вид, который находится сверху(или снизу) и показывает жизни, не залезая на игровой?
Есть какая-то переменная view_current, и я совершенно не понимаю как она действует.

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 28-11-2006 05:45
у видов есть размеры и позиционирование на экране
view_..
расставить два прямоугольника на экране думаю не сложно)

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 28-11-2006 19:55
У меня была мысль рисовать жизни за экраном, а потом поставить
view_yview[1]=-100
view_xview[1]=view_xview[0]
Но сработает ли?
Просто хочется, чтоб на игровом экране не маньячила мменюшечная фигня...

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 28-11-2006 20:01
А что бы менюшичную фигню рисовал отдельный объект и когда надо включал бы ему visible = true/false туда-сюда, так нельзя что ли?

да и два вида тормознее будет

гроссмейстер
Группа: Сообщество GM
Сообщений: 130
Добавлено: 28-11-2006 23:43
Помоему оптимально создать объект, а у него ужек примеру:
Объект располагается в левом верхнем углу.
Событие Create:
hp='0/0';
hpb=0;
ammo1='0/0';
ammo1b=0;
ammo2='0/0';
ammo2b=0;
name='';

Событие Draw:
x=view_xview[view_current]; //Для того чтобы окошко с информацией всегда было видно в левом верхнем углу окна игры
draw_sprite(sprite_index,-1,x,y);
draw_set_font(font1);
draw_set_color(c_red);
if (hpb>0) draw_rectangle(x+34,y+3,x+34+hpb,y+7,0);
draw_set_color(c_yellow);
if (ammo1b>0) draw_rectangle(x+34,y+10,x+34+ammo1b,y+14,0);
draw_set_color(c_purple);
if (ammo2b>0) draw_rectangle(x+34,y+17,x+34+ammo2b,y+21,0);
draw_set_halign(fa_center);
draw_set_valign(fa_middle);
draw_set_color(c_white);
draw_text(x+79,y+3,hp);
draw_text(x+79,y+10,ammo1);
draw_text(x+79,y+17,ammo2);


ЗЫ пример из моей собственной игры
вот скриншот
http://gmaking.clan.su/_fr/0/67104342.gif

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 29-11-2006 04:29
Блин. Вы что, думаете что я совсем тупой?
Во-первых у меня жизни рисуются не простыми прямоугольниками. а кружками. Во-вторых я же сказал, что мне нужно, чтоб всё, что отображается сверху как жизни и энергия не залазали на основное игровое окно, т.к. в этом случае можно будет не увидеть несколько секретов.
И ещё я спрашиваю, как работает переменная view_current?

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 29-11-2006 05:19
view_current показывает какой отрисовывается вид.

Ты может и не тупой, но сомневаюсь что оптимальным решением будет добавка вида. Чтобы чтото не залазило, надо всео лишь чтото кудато смещать, но дело твоё конечно)

Дундук - не беспокоить!
Группа: Модераторы
Сообщений: 1435
Добавлено: 29-11-2006 08:32
Не пробовал рисовать так (Без вида):
x - view_xview + 10
y - view_yview + 10
Вот тебе и смещение.

гроссмейстер
Группа: Сообщество GM
Сообщений: 130
Добавлено: 29-11-2006 09:18
А ещё можешь использовать прозрачность (чтобы сквозь жизни и секреты были видны).

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 29-11-2006 19:43
Показывать\не показывать жизни - кривой способ(уже мной проверенный)
Альфа и так есть, но секреты через это месиво вряд ли можно будет увидеть.
У меня пропадает 50~100 пикселей сверху, т.к. там отображаются 3 полоски(жизни, топливо и энеогия) и ещё справа будет нарисованно оружие и его текущий уровент + рисование текущего sub оружия.
view_enabled=1
view_visible[1]=1;
view_hport[1]=50;
view_hview[1]=50
view_visible[0]=1;
view_yport[0]=50;
view_hport[0]=480;
view_hview[0]=480;
(вид 0 - главный, вид 1 - менюшка сверху)
Это дело работает только на половину.
Вроде всё нормально, НО у главного вида пропадает 50 пикселов снизу. Как исправить - не знаю. Пробовал
window_set_region_size и window_set_size - не помогло...

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 30-11-2006 05:27
короче вот. Если параметры пропущены, то они=0

view[1]:
w 640
h 430

port[1]
y 50
w 640
h 430

view[0]:
w 640
h 50

port[1]
w 640
h 50

По любому путь не верный Никогда бы я так не сделал изза менюхи.

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 01-12-2006 04:38
Так мне нужно чтоб у главного вида высота была 480, а не 430.
Вообщем наверное от этой идеи откажусь, потому сделаю, чтом менюшка могла вверх въезжать и выезжать.

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 01-12-2006 05:15
гыгыгы... откусив от экрана 50пх под интерфейс, как ты получишь полные 480? только в виде 480+50=530
640х530 разве что только в окне.

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 02-12-2006 05:01
Я пытался в окне сделать - не получилось.

мастер
Группа: Сообщество GM
Сообщений: 111
Добавлено: 02-12-2006 14:05
Ты не делай, границу комнаты вблизи с границей окна - неудобно будет. Ты зделай так, чтоб даже угол комнаты был поцентру(если у тебя вид следует за игроком). А если вид неподвижен сделай комнату поменьше, разбей на 2 или 4 поменьше.

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 02-12-2006 19:40
У меня комнаты и так 1-4 экрана.
Сделаю без второго вида - меньше гемороя.

Страницы: 1  новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / Отдельный вид

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU