|
02.04.2008, 10:54
|
#16
|
AnyKey`щик
Регистрация: 11.12.2006
Сообщений: 17
Написано 2 полезных сообщений (для 3 пользователей)
|
Re: Ответ: Lib_game (Game API Support)
Сообщение от pilgrim
Полная сборка библиотеки. Авторы: Piligrim, Kurdt.
Включены изменения Kurdtа. Добавлена справка по Game API из явы для облегчения понимания строения системы. Включены две демо, по функциям библиотеки и ее расширения для свободного вращения спрайтов. Также включена библиотека Lib_sensor, необходимая для поддержки сенсорных экранов.
|
Привет.
Обновите Lib_sensor, добавлено свойство int pointer_state() 1 - нажато, 0 - не нажато. Понадобилось вот ))
|
(Offline)
|
|
03.04.2008, 13:45
|
#17
|
ПроЭктировщик
Регистрация: 28.03.2007
Сообщений: 194
Написано 7 полезных сообщений (для 25 пользователей)
|
Re: Lib_game (Game API Support)
я добавил давно. вылажую
функция pointer_is_pressed
нажато возвращает 1 ненажато возвращает ноль
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.08.2008, 23:44
|
#18
|
Разработчик
Регистрация: 06.04.2008
Сообщений: 541
Написано 196 полезных сообщений (для 638 пользователей)
|
Ответ: Lib_game (Game API Support)
Че-то я не вкурю, как пользоваться функцией sprite.set_position(i,j,k:integer) и вообще для чего она нужна. Объясните плиз
|
(Offline)
|
|
17.08.2008, 15:05
|
#19
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Lib_game (Game API Support)
По-моему, эта функция устанавливает элемент спрайта с инднксом i в точку с x=j, y=k.
|
(Offline)
|
|
17.08.2008, 16:54
|
#20
|
Разработчик
Регистрация: 06.04.2008
Сообщений: 541
Написано 196 полезных сообщений (для 638 пользователей)
|
Ответ: Lib_game (Game API Support)
А как сделать, чтобы у разных спрайтов были одинаковые картинки, например если на экране несколько одинаковых врагов. Не загружать же для каждого одно и то же изображение?
|
(Offline)
|
|
17.08.2008, 17:45
|
#21
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Lib_game (Game API Support)
Похоже, в этой библиотеке нужно загружать изображение для каждого спрайта.
|
(Offline)
|
|
17.08.2008, 20:34
|
#22
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Ответ: Lib_game (Game API Support)
хм, действительно есть функция создания спрайта на основе уже готового, добавлю сегодня.
|
(Offline)
|
|
18.08.2008, 23:38
|
#23
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Ответ: Lib_game (Game API Support)
Обновил библиотеку. Сообщение №8.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.08.2008, 18:48
|
#24
|
AnyKey`щик
Регистрация: 25.08.2008
Сообщений: 5
Написано одно полезное сообщение
|
Ответ: Lib_game (Game API Support)
Sorry for writing in English but I dont speak in Russian.I use google translator to read this forum
I have tried to use the touch-screen functions of the library game and I just dragged the other works do not work.
game.pointer_pressed_x only return 0, always.
game.pointer_dragged_x work well.
I have tried to use lib_sensor and lib_game at the same time but neither works. only works if I use lib_sensor alone.
thanks!
|
(Offline)
|
|
31.08.2008, 19:26
|
#25
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Ответ: Lib_game (Game API Support)
sorry, sensor functions not fully tested.
download updated version from the post #8 of this section.
sensor lib not necessary any more.
|
(Offline)
|
|
31.08.2008, 20:12
|
#26
|
AnyKey`щик
Регистрация: 25.08.2008
Сообщений: 5
Написано одно полезное сообщение
|
Ответ: Lib_game (Game API Support)
Hi Pilgrim
Now run ok! thanks!
but lib_game dont have pointer_state function.
How do I know if the pointer is pressing the screen?
The problem is that pointer_pressed_x and pointer_pressed_y hold their values but I dont pressing the screen.
Does any alternative to solve the problem?
thanks
Lite example code:
program pointerExample;
uses
game;
var
px:integer;
py:integer;
rx:integer;
ry:integer;
fin:integer;
begin
game.init;
game.show;
game.set_clip(0,0,240,100);
repeat
px:=game.pointer_pressed_x;
py:=game.pointer_pressed_y;
rx:=game.pointer_released_x;
ry:=game.pointer_released_y;
setcolor(100,100,100);
fillrect(0,0,200,100);
setcolor(0,0,0);
drawText('Pressed X:'+px, 1, 10);
drawText('Pressed Y:'+py,1,30);
drawText('Released X:'+rx, 50, 10);
drawText('Released Y:'+ry,50,30);
refresh;
delay(10);
until fin=1
end.
|
(Offline)
|
|
01.09.2008, 08:14
|
#27
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Lib_game (Game API Support)
Try to use Lib_sensor. You can download this lib below.
List of new functions:
- init
- integer pointer_state
- integer pointer_pressed_x
- integer pointer_pressed_y
- integer pointer_dragged_x
- integer pointer_dragged_y
- integer pointer_released_x
- integer pointer_released_y
- integer has_pointer_events
- integer has_pointer_motion_events
Here some examples:
Program PointerTest; Uses sensor; Var ox, oy, px, py, state: integer; Begin sensor.init; // Инициализация библиотеки repeat // Бесконечный цикл state:=pointer_state; // Читаем состояние сенсора if state=1 then // Если нажали, то... begin if (ox=0) and (oy=0) then begin ox:=pointer_dragged_x; oy:=pointer_dragged_y; end; px:=pointer_dragged_x; py:=pointer_dragged_y; // Выясняем куда именно нажали (координаты) DrawLine(ox,oy,px,py); // Рисуем линию ox:=px; oy:=py; // Запоминаем предыдущую точку для рисования следующей линии end; else begin ox:=0; oy:=0; end; // Если ничего не нажали - сбрасываем координаты в 0 Repaint; Delay(20); // Отрисовка линии и небольшая пауза until false; End.
Program PointerTest2; Uses sensor; Var xx, yy, state, key: integer; Procedure DrawButtons; // Вспомогательная процедурка, которая рисует на экране кнопки begin SetColor(255,255,255); // Белый цвет if key=1 then SetColor(255,0,0); // Если была нажата кнопка 1 - ставим красный цвет if key=2 then SetColor(0,255,0); // Если кнопка 2 - зеленый FillRect(0,0,GetWidth,GetHeight); // Закрашиваем весь экран выбранным цветом SetColor(0,0,0); // Ставим черный цвет DrawRect(10, 10, 100, 25); DrawText('Button 1', 15, 15); // Рисуем первую кнопку DrawRect(10, 40, 100, 25); DrawText('Button 2', 15, 45); // Рисуем вторую кнопку DrawRect(10, 70, 100, 25); DrawText('Quit', 15, 75); // Рисуем третью Repaint; // Окончательный вывод всего нарисованного на дисплей end; Begin // Начало нашей программы sensor.init; // Инициализация библиотеки DrawButtons; // Рисуем кнопки на экране (см. процедуру выше) repeat // Начинаем бесконечный цикл state:=pointer_state; // Читаем состояние сенсора if state=1 then // Если произошло нажатие, то... begin xx:=pointer_pressed_x; yy:=pointer_pressed_y; // Считываем координаты нажатия if (xx>9) and (xx<111) then // Проверяем сначала x координату... begin if (yy>9) and (yy<36) then key:=1; // Нажали на кнопку 1 if (yy>39) and (yy<66) then key:=2; // Нажали на кнопку 2 if (yy>69) and (yy<96) then Halt; // Нажали на кнопку 3 (Выход) DrawButtons; // Рисуем кнопки end; end; Delay(30); until false; End.
|
(Offline)
|
|
01.09.2008, 14:24
|
#28
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Ответ: Lib_game (Game API Support)
odd, он хочет эту функцию при работе с Game API, а там другой Canvas на экране. Добавлю через часик.
updated.
Последний раз редактировалось Piligrim, 01.09.2008 в 15:33.
Причина: добавил.
|
(Offline)
|
|
01.09.2008, 15:54
|
#29
|
AnyKey`щик
Регистрация: 25.08.2008
Сообщений: 5
Написано одно полезное сообщение
|
Ответ: Lib_game (Game API Support)
thanks Odd! but I need use lib_game and lib_game+lib_sensor dont work.
Pilgrim, Do you update the game library? I would very happy!
|
(Offline)
|
|
01.09.2008, 15:56
|
#30
|
AnyKey`щик
Регистрация: 25.08.2008
Сообщений: 5
Написано одно полезное сообщение
|
Ответ: Lib_game (Game API Support)
Oh! you had updated! thanks!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:22.
|