Форум «Всё о Паскале» _ Написание игр _ меню во фрейме
Автор: Wait 14.05.2005 22:00
здавствуйте, если можете, помогите, пожалуйста.. мне нужно меню во фрейме для игры... Где-то слышал, что такое возможно... Напишите, пожалуйста модуль для этого. Заранее благодарен
Автор: Altair 14.05.2005 22:09
В каком еще фрейме ? вы о чем?
Автор: NightPaladin 14.05.2005 22:25
Мне кажется можно только нарисовать параллелепипед bar3D(x1,y1,x2,y2, глубина). Использую предварительно SetFillStyle(образец_заливки, цвет) и SetLineStyle(стиль_линий, 0, толщина). Я правильно понял фрейм - это рамка? Тогда так можно. ЕСли надо могу выложить полный внешний вид и исходник
Автор: volvo 14.05.2005 22:35
Если это "меню в рамке", то можно и поискать по форуму - уже выкладывалось несколько реализаций графического меню...
Автор: Wait 14.05.2005 22:51
Цитата(NightPaladin @ 14.05.05 18:25)
Мне кажется можно только нарисовать параллелепипед bar3D(x1,y1,x2,y2, глубина). Использую предварительно SetFillStyle(образец_заливки, цвет) и SetLineStyle(стиль_линий, 0, толщина). Я правильно понял фрейм - это рамка? Тогда так можно. ЕСли надо могу выложить полный внешний вид и исходник
Выложите, пожалуйста... :molitva:
Автор: NightPaladin 15.05.2005 10:11
Лично у меня получилось вот так:
Код
program asd; Uses crt,graph; var a,i : Integer; begin a:= detect; i:=0; InitGraph(a, i, 'C:\BP\BGI'); ClearDevice; SetFillStyle(5, 9); bar(0,0,640,480); SetLineStyle(4,255,red); rectangle(10,10,630,470); SetFillStyle(4, 10); bar(10,10,630,470); SetFillStyle(SolidFill,black); bar(220,170,450,320); SetFillStyle(7, 3); bar3D(200,150,430,300, 0, TopOn); OutTextXY(285,180,'Options'); OutTextXY(282,200,'New Game'); OutTextXY(297,220,'Exit'); Readkey; CloseGraph; end.
Внешний вид огрничен только фантазией и занием графики в TP. Я конечно сделал очень просто, но ИМХО похоже на рамку...
Автор: Дож 15.05.2005 20:45
Вот, что я написал в прошлом году по этому поводу:
Unit FMenu; Interface
Type menu=record But:byte; button:array[1..8] of string[22]; Cin,Cout:integer; Fon:array[1..2]of integer; Zag : string[10]; end;
Модуль состоит из одной функции SimpleMenu, типа Menu и глобальной переменной N. Переменная N отвечает за внешний вид и содержимое меню, а точнее за: 1) кол-во кнопок в меню (переменная Menu.but) 2) надписи в кнопках(переменная Menu.Button) 3) названия меню(переменная Menu.Zag) 4) цвет фона в стиле Bar. В переменной Menu.Fon[1] задан тип фона(см. setfillstyle), а в Menu.Fon[2] цвет фон. 5) Цвет пассивных и активных кнопок. Menu.Cin - cursor in(курсор внутри) Menu.Cout - cursor out(курсор вне)
Функция SimpleMenu: создает меню и обробатывает сигналы пользователя: стрелка вверх: сдвинуть указатель вверх стрелка вниз: сдвинуть указатель вниз Enter : выбрать выделенную кнопку. Функция возвращает номер выбранной пользователем кнопки. Примечание : модуль использует какой-то BGI шрифт, не помню какой точно.
Прошу не судить строго, я тогда не знал ни о каком ООП, мышь на паскале казалась нереальностью... :p2:
Автор: NightPaladin 15.05.2005 20:50
Красиво - мой респект Дож. Если Wait надо шоб полная симуляция менюшки - ну с управлением и т.д. то щас пойду усовершенствую...
2Дож
А почему ООП, мышь можно и встроенным ассемблером делать к сожалению на память не воспроизведу, но можно и найти - тя интересует?
Автор: Дож 15.05.2005 20:51
Цитата
А почему ООП, мышь можно и встроенным ассемблером делать к сожалению на память не воспроизведу, но можно и найти - тя интересует?
Я тебя недопонял.
Автор: NightPaladin 15.05.2005 20:55
Цитата
ни о каком ООП, мышь на паскале казалась нереальностью
Я эб этом, что мышь к паскалю можно приспособить с помощью встроенного ассемблера, и ооп здесь ни причём
Автор: Дож 15.05.2005 21:05
ААА! Да, насчет мыши я все уже хорошо знаю, но год назад не знал. А насчет ООП, если бы я об нем знал, то создал бы объект, например, TMenu, в который бы входили все эти поля и функция SimpleMenu. И была бы возможность создавать не одно меню, а много! Хотя, здесь не много исправлять нужно.
Цитата
А почему ООП, мышь можно и встроенным ассемблером делать к сожалению на память не воспроизведу, но можно и найти - тя интересует?
Да, нет наверно, у меня рядом книжка по паскалю лежит и в FAQ про это говорится(http://forum.pascal.net.ru/index.php?showtopic=4510&st=0&p=40148�entry40148).
Автор: volvo 15.05.2005 21:27
Кого интересует меню с ООП - смотрите здесь: http://forum.pascal.net.ru/index.php?showtopic=3222&view=findpost&p=28959
Автор: Wait 17.05.2005 21:58
Цитата(NightPaladin @ 15.05.05 16:50)
Если Wait надо шоб полная симуляция менюшки - ну с управлением и т.д. то щас пойду усовершенствую...
Усовершенствуйте, плиз, если Вам не трудно, буду очень благодарен. Мне это меню нужно для первой страницы игры В тексовом режиме я его умею делать, но это не то - для первой страницы нужна графика... Мне надо, чтобы управление было попроще без всяких там мышей, ассемблеров... чтобы был переход на метки Новая игра, Справка, Выход... Очень хотелось бы...
Автор: Wait 18.05.2005 2:52
Или кто-нибудь... напишите это мне, пожалуйста. Очень прошу. Надо побыстрее :molitva: :molitva: :molitva: :molitva: :molitva: :molitva: