|
Основной форум Сюда все проблемы связанные с программированием. |
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, время: 15:00.
|