 |
Основной форум Сюда все проблемы связанные с программированием. |
19.08.2010, 11:33
|
#1
|
Знающий
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений (для 32 пользователей)
|
Меню32
Помогите объединить
program Load;
Var
n,wi,hi:integer;
begin
wi:=GetWidth; hi:=GetHeight;
while ( getKeyClicked<> KE_NONE) do
delay(100);
repeat
n:= n+1;
DrawImage(LoadImage('/pidgin.png'), (GetWidth/2-64), (GetHeight/2-64));
//Фон
SetColor(237,142,186);
FillRect(1,hi-7,wi-3,6);
//Полоса
SetColor(122,74,133);
FillRect(3,hi-5,(wi-5)*n/100,2);
//Рамка
DrawRect(1,hi-7,wi-3,5);
repaint;
if n>99 then
begin
SetColor(0,0,0);
FillRect(0,0,wi,hi);
end;
until false;
end.
и менюшку

Uses font32, sensor, menu32;
Var key: integer;
Begin
// ------------------------ Установка шрифтов --------------------------------
font32.init(2); // Всего 2 шрифта
Font(0); LoadFont('Verdana_7'); // Основной шрифт
Font(1); LoadFont('Verdana_7b'); // Такой же шрифт, но утолщенный и белый (для выделенного пункта)
// ------------------------ Установка меню --------------------------------
menu32.init; // инициализация меню
LoadCursor(CreateCursor(GetWidth, 24, 4278190250)); // Создаем курсор
SetMenuWindow(0, 0, GetWidth, GetHeight); // Задаем окно, в котором будет отображаться меню
MenuFonts(0, 1); // Основной и курсорный шрифты
AddItem2(LoadImage('/cube.png'), 'Старт', 'start'); // Добавляем элементы меню
AddItem2(LoadImage('/star.png'), 'Настройки', 'settings');
AddItem2(None, 'Помощь', 'help'); // Пример пункта где иконка не нужна
AddItem2(LoadImage('/spe2.png'), 'Звук включен', 'off');
AddItem2(LoadImage('/about.png'), 'Тут рассказывается об этой замечательной программе подробно', 'about');
AddItem2(LoadImage('/error.png'), 'Выхат', 'exit');
SetCursor(4); // Пример явного перемещения курсора на нужный пункт
ChangeString('Выход', 5); // Пример переименования пункта меню
// ------------------------ Подготовка сенсорного экрана --------------------------------
sensor.init;
// ------------------------ Основной цикл --------------------------------
DrawMenu; Repaint;
repeat
key:=KeyToAction(GetKeyPressed); Delay(50);
if key=GA_DOWN then begin CursorDown; DrawMenu; Repaint; Delay(100); end; // Вниз
if key=GA_UP then begin CursorUp; DrawMenu; Repaint; Delay(100); end; // Вверх
if (key=GA_FIRE) or (SensorState = 1) then // Нажали огонь джойстика или двойной клик по сенсорному экрану
begin
if Selected = 3 then
begin
if SelectedItem = 'Звук включен' then begin ChangeString('Звук выключен', 3); ChangeImage(LoadImage('/spe1.png'), 3); end;
else begin ChangeString('Звук включен', 3); ChangeImage(LoadImage('/spe2.png'), 3); end;
DrawMenu; Repaint; Delay(100);
end;
if Selected = 5 then Halt; // Если выбрали ВЫХОД - то выход
if SelectedItem = 'Выход' then Halt; // Можно и так проверять. Чтоб не ломать мозги: какой же там номер пункта?
end
if (pointer_state = 1) then // Если нажали на сенсорный экран
begin
SensorClick(pointer_pressed_x, pointer_pressed_y); // Передаем координаты в меню
DrawMenu; Repaint;
end;
Delay(2); Scroll;
until false;
Сам все варианты пробовал не получается наверно опыта не хватает
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
|
(Offline)
|
|
19.08.2010, 18:08
|
#2
|
AnyKey`щик
Регистрация: 20.06.2010
Сообщений: 7
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Меню32
load сделай в виде проседуры и вставь в менюшку и вызови где надо.
|
(Offline)
|
|
19.08.2010, 18:32
|
#3
|
Знающий
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений (для 32 пользователей)
|
Ответ: Меню32
блинн во я лузер спасибо
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
|
(Offline)
|
|
19.08.2010, 19:10
|
#4
|
Знающий
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений (для 32 пользователей)
|
Ответ: Меню32
Чет не получается

Program MenuDemo; Uses font32,menu32; Var key,n,wi,hi: integer;
procedure OnLoad(n: integer); begin wi:=GetWidth; hi:=GetHeight; while ( getKeyClicked<> KE_NONE) do delay(100); repeat
n:= n+1; DrawImage(LoadImage('/logo.png'), (GetWidth/2-64), (GetHeight/2-64)); //Фон SetColor(237,142,186); FillRect(1,hi-7,wi-3,6); //Полоса SetColor(122,74,133); FillRect(3,hi-5,(wi-5)*n/100,2); //Рамка DrawRect(1,hi-7,wi-3,5); repaint; if n>99 then n:=98;
until false; end;
Begin wi:=GetWidth; hi:=GetHeight; // ------------------------ Установка шрифтов -------------------------------- font32.init(2); // Всего 2 шрифта Font(0); LoadFont('Verdana_7'); // Основной шрифт Font(1); LoadFont('Verdana_7b'); // Такой же шрифт, но утолщенный и белый (для выделенного пункта) // ------------------------ Установка меню -------------------------------- menu32.init; // инициализация меню LoadCursor(CreateCursor(GetWidth, 20, 6000255255)); // Создаем курсор SetMenuWindow(0, 0, GetWidth, GetHeight); // Задаем окно, в котором будет отображаться меню MenuFonts(0, 1); // Основной и курсорный шрифты AddItem2(LoadImage('/cube.png'), 'Старт теста', 'start'); // Добавляем элементы меню AddItem2(LoadImage('/spe2.png'), 'Звук включен', 'off'); AddItem2(LoadImage('/about.png'), 'Информация', 'about'); AddItem2(LoadImage('/error.png'), 'Выхат', 'exit'); SetCursor(3); // Пример явного перемещения курсора на нужный пункт ChangeString('Выход', 3); // Пример переименования пункта меню // ------------------------ Основной цикл -------------------------------- DrawMenu;Repaint;OnLoad(10); repeat key:=KeyToAction(GetKeyPressed); Delay(50); if key=GA_DOWN then begin CursorDown; DrawMenu; Repaint; Delay(100); end; // Вниз if key=GA_UP then begin CursorUp; DrawMenu; Repaint; Delay(100); end; // Вверх if (key=GA_FIRE) or (SensorState = 1) then // Нажали огонь джойстика или двойной клик по сенсорному экрану begin if Selected = 1 then begin end; if Selected = 3 then Halt; // Если выбрали ВЫХОД - то выход end; Delay(2); Scroll; until false; End.
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
|
(Offline)
|
|
20.08.2010, 12:07
|
#5
|
AnyKey`щик
Регистрация: 20.06.2010
Сообщений: 7
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Меню32
Вот приблизительно так.

Program MenuDemo;
Uses font32,menu32;
Var key,n,wi,hi: integer;
procedure OnLoad(n: integer);
begin
wi:=GetWidth; hi:=GetHeight;
while ( getKeyClicked<> KE_NONE) do
delay(100);
DrawImage(LoadImage('/logo.png'), (GetWidth/2-64), (GetHeight/2-64));
repeat
n:= n+1;
//Фон
SetColor(237,142,186);
FillRect(1,hi-7,wi-3,6);
//Полоса
SetColor(122,74,133);
FillRect(3,hi-5,(wi-5)*n/100,2);
//Рамка
DrawRect(1,hi-7,wi-3,5);
repaint;
until n>99;
SetColor(255,255,255);
FillRect(1,hi-7,wi,7);
repaint;
end;
Begin
wi:=GetWidth; hi:=GetHeight;
// ------------------------ Установка шрифтов --------------------------------
font32.init(2); // Всего 2 шрифта
Font(0); LoadFont('Arial_7'); // Основной шрифт
Font(1); LoadFont('Arial_7'); // Такой же шрифт, но утолщенный и белый (для выделенного пункта)
// ------------------------ Установка меню --------------------------------
menu32.init; // инициализация меню
LoadCursor(CreateCursor(GetWidth, 20, 6000255255)); // Создаем курсор
SetMenuWindow(0, 0, GetWidth, GetHeight); // Задаем окно, в котором будет отображаться меню
MenuFonts(0, 1); // Основной и курсорный шрифты
AddItem2(LoadImage('/cube.png'), 'Старт теста', 'start'); // Добавляем элементы меню
AddItem2(LoadImage('/spe2.png'), 'Звук включен', 'off');
AddItem2(LoadImage('/about.png'), 'Информация', 'about');
AddItem2(LoadImage('/error.png'), 'Выхат', 'exit');
SetCursor(3); // Пример явного перемещения курсора на нужный пункт
ChangeString('Выход', 3); // Пример переименования пункта меню
// ------------------------ Основной цикл --------------------------------
OnLoad(10);
DrawMenu;Repaint;
repeat
key:=KeyToAction(GetKeyPressed); Delay(50);
if key=GA_DOWN then begin CursorDown; DrawMenu; Repaint; Delay(100); end; // Вниз
if key=GA_UP then begin CursorUp; DrawMenu; Repaint; Delay(100); end; // Вверх
if (key=GA_FIRE) or (SensorState = 1) then // Нажали огонь джойстика или двойной клик по сенсорному экрану
begin
if Selected = 1 then
begin
end;
if Selected = 3 then Halt; // Если выбрали ВЫХОД - то выход
end;
Delay(2); Scroll;
until false;
End.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:54.
|