Re: Невозможно включть полноекранный режим при использовании Game Api
Piligrim, если будешь менять менять библиотекчку, поставь плиз в потдержке спрайтов еще sprite.setImage чтобы можно было менять опр картинку созданого спрайта
|
Re: Невозможно включть полноекранный режим при использовании Game Api
Если можно такие процедурки: узнать сколько вспрайте кадров. какой текущий кадр, удалить опр кадр, *если єто не сложно будет... подобавляй доступ ко всему.. всегда приодится... И еще один вопросик, как самое легче скомпилировать библиотеку ? я уже дня 3 пробую ничего не выходит... Делаю все по примеру со справки... 2 раза компилируется, все норм но не работает... Я б потихоньку тада и сам бы совершенствовал либы...
И еще бы чтобы можно было бы получить высоту и ширину спрайта, ато столько переменных для этого надо.. и в потсчете тоже... |
Re: Невозможно включть полноекранный режим при использовании Game Api
Теоретически можно сделать доступным все как в яве. просто надо ли это?
http://java.sun.com/javame/reference/apis/jsr118/ Смотрим javax.microedition.lcdui.game Для компиляции должен быть установлен WTK 2.x , текущий последний 2.5, где-то тут выкладывал bat файл для компиляции. |
Re: Невозможно включть полноекранный режим при использовании Game Api
Вложений: 2
Уже научился компилировать либы с помощью NetBeans 5.0, подобавлял все функции какие были в либу... Только не смог все таки исправить чтоб на весь экран было... это не по моим мозгам будет...
Вот вылаживаю либу спрайтов Piligrima с доп функциями, и с описанием каждой функции и процедуры... |
Re: Lib_game (Game API Support)
Вложений: 2
Исправленная либа гейм апи, теперь работает на весь екран на всех телефонах (без софт полоски)
|
Re: Lib_game (Game API Support)
со спрайтами помнится косяки были. Дело в том что с когда грузиш спрайт то для каждого объекта буквально надо загружать свое изображение. Проще выводить стандартными средствами в виде текстур.
Вот сравнить если в моей дюне средствами библиотеки спрайт выводится не более 13 объектов, стандартными средствами-до хрена |
Re: Lib_game (Game API Support)
это ограничение не библиотеки, а самой явы. Библиотека всего-лишь прослойка.
|
Ответ: Lib_game (Game API Support)
Вложений: 1
Полная сборка библиотеки. Авторы: Piligrim, Kurdt. ( 25.10.2008 )
Включены изменения Kurdtа. Добавлена справка по Game API из явы для облегчения понимания строения системы. Включены две демо, по функциям библиотеки и ее расширения для свободного вращения спрайтов. Также включена библиотека Lib_sensor, необходимая для поддержки сенсорных экранов. Добавлено дополнение, для свободного вращения спрайтов. 24.10.2008 +реакция на нажатия клавиш через стандарный getKeyPressed, getKeyClicked *возможность отключить генерацию keyPressed для курсорных клавиш. В теории немного ускоряет обработку клавиш. 18.08.2008 +добавлена функция Lib_sprite.copy(idx : integer) : integer - создание спрайта на основе уже существующего 31.08.2008 *исправлена обработка сенсорного экрана. Исключена библиотека sensor. 01.09.2008 +pointer_state : integer; - состояние нажаточти сенсорного экрана |
Ответ: Lib_game (Game API Support)
Забавно. В русской версии не хочет компилироваться ни в какую. Надо будет поискать ошибку...
|
Ответ: Lib_game (Game API Support)
А в английской нормально?
|
Ответ: Lib_game (Game API Support)
я в английской тестировал.
действительно, не компилирует в русской версии :( |
Ответ: Lib_game (Game API Support)
Ничего, видно где-то запятую случайно затёр. Исправлю. Можно, кстати, сделать чтобы библиотеки назывались как угодно, а не Lib_*.class
|
Re: Lib_game (Game API Support)
люди где англискую версию взять 2.02 ? официальный сайт не пашет:( а русскаий не хочет с либами cnv2 и game дружить((
|
Ответ: Lib_game (Game API Support)
Пока можно компилить и в русской версии. Просто либы добавлять потом после компиляции с помощью архиватора. Русскую версию скоро исправлю.
|
Ответ: Lib_game (Game API Support)
Вложений: 1
Вот английская версия 2.02.
|
Re: Ответ: Lib_game (Game API Support)
Вложений: 1
Цитата:
Обновите Lib_sensor, добавлено свойство int pointer_state() 1 - нажато, 0 - не нажато. Понадобилось вот )) |
Re: Lib_game (Game API Support)
Вложений: 1
я добавил давно. вылажую
функция pointer_is_pressed нажато возвращает 1 ненажато возвращает ноль |
Ответ: Lib_game (Game API Support)
Че-то я не вкурю, как пользоваться функцией sprite.set_position(i,j,k:integer) и вообще для чего она нужна. Объясните плиз :)
|
Ответ: Lib_game (Game API Support)
По-моему, эта функция устанавливает элемент спрайта с инднксом i в точку с x=j, y=k.
|
Ответ: Lib_game (Game API Support)
А как сделать, чтобы у разных спрайтов были одинаковые картинки, например если на экране несколько одинаковых врагов. Не загружать же для каждого одно и то же изображение?
|
Ответ: Lib_game (Game API Support)
Похоже, в этой библиотеке нужно загружать изображение для каждого спрайта.
|
Ответ: Lib_game (Game API Support)
хм, действительно есть функция создания спрайта на основе уже готового, добавлю сегодня.
|
Ответ: Lib_game (Game API Support)
Обновил библиотеку. Сообщение №8.
|
Ответ: 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! |
Ответ: 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. |
Ответ: 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. |
Ответ: Lib_game (Game API Support)
Вложений: 1
Try to use Lib_sensor. You can download this lib below.
List of new functions:
Here some examples: PHP код:
PHP код:
|
Ответ: Lib_game (Game API Support)
odd, он хочет эту функцию при работе с Game API, а там другой Canvas на экране. Добавлю через часик.
updated. :) |
Ответ: 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! :) |
Ответ: Lib_game (Game API Support)
Oh! you had updated! thanks!
|
Ответ: Lib_game (Game API Support)
Скажите в чём проблема? У меня мидлет виснет на строчке game.init;
Соответствующие либы лежат в папке Libs, MP версии 2.02 Вот код программы: program LandScroll; uses game, sprite, tile; var hero:integer; begin //....... game.init; {если её пропустить, то доходит до sprite.append(hero);} sprite.init(2); setcolor(0,255,0); fillrect(0,0,240,320); repaint; hero:= sprite.create_frames('/hero/walk/walk.png', 29, 39); {png-файл размером 116х312} setcolor(255,0,0); fillrect(0,0,240,320); repaint; sprite.append(hero); {Потом виснет на этой строчке} setcolor(0,0,255); fillrect(0,0,240,320); repaint; //.... end. |
Ответ: Lib_game (Game API Support)
я думаю он не виснет, а просто не находит файл /hero/walk/walk.png
МР не умеет класть ресурсы в папки, он их все пихает в корень. |
Ответ: Lib_game (Game API Support)
Я вручную прописываю пути к файлам, и они после компиляции лежат по папкам внутри мидлета. Может быть библа ненаходит файл? Попробую положить в файлик в корень.
|
Ответ: Lib_game (Game API Support)
пропущено game.show;
и нужно использовать game.refresh; вместо repaint; при вызове sprite.create_frames в качестве параметров указываются ширина и высота фрейма, т.е. кадра. Ширина и высота картинки, соответсвенно, должна быть кратна им, иначе система не может корректно создать спрайт и виснет на этом шаге. 116 на 29 вроде не делится. |
Ответ: Lib_game (Game API Support)
Спасибо, я понял в чём проблема. Маленькие файлы открываются без проблем, а мой размером в 47,7Kb ни в какую не хочет. Что делать?
.... Уменьшил размер файла до 33,1Kb и всё заработало, правда качество картинки пострадало :( Если вы хотите чтобы ресурс лежал внутри мидлета в папке, то перед компиляцией откройте файл *.mpproj блокнотом и впишите туда соответственный путь к файлу. |
Ответ: Lib_game (Game API Support)
Блин, а почему нельзя использовать стандартные средства вывода графики совместно с библиотеками Game_api? Или может ли переменная, используемая в библиотеке, повлиять на переменную в моей программе?
|
Ответ: Lib_game (Game API Support)
Кстати, не знаю почему, но вроде бы у меня стандартные графические средства МП работают быстрее, чем Lib_game.
|
Ответ: Lib_game (Game API Support)
Cliffe Snake, а кто сказал, что их нельзя использовать? можно
Romanzes, все зависит от реализации ява машины. Может где-то и быстрее. Ведь Lib_game работает через индексы, хотя я думаю это критично только для гонок, например. |
Ответ: Lib_game (Game API Support)
Всё разобрался во всём, спасибо за такую полезную либу =)
|
Ответ: Lib_game (Game API Support)
Pilgrim, у меня к тебе ещё один вопрос.
Почему после game.init; функции getkeyclicked и getkeypressed перестают работать(т.е. всегда возвращают "0"), а набора в 9 клавиш (Right,Left,Up,Down,Fire,7,9,*,#) катастрофически не хватает :'( Как можно деинициализировать библу?(Мол попользовался библой и вырубил её, а потом снова включил и т.д.) Или как работать в либе game с другими клавишами? |
Ответ: Lib_game (Game API Support)
Обновил библиотеку. getKeyPressed теперь работает.
Отключается она простым переходом, например showCanvas. Включается потом, через game.show PS: init теперь с параметром!!! |
Ответ: Lib_game (Game API Support)
Помогите, что не так. Написанный мидлет просто показывает белый экран.
Program New1321; uses sprite, tile, game, fmove; type msprite=record id:integer; end; var x,y,i,z:integer; man:msprite; begin sprite.init(1); game.init(0); game.set_view_window(0,0,128,160); x:=4; y:=74; man.id:=sprite.create_frames('/vorman.png',8,12); sprite.append(man.id); sprite.set_ref_pixel(man.id,4,6); sprite.set_position(man.id,x,y); i:=2; z:=-1; game.show; repeat z:=z*(-1); sprite.move(man.id,x,y); sprite.paint(man.id); if z=1 then sprite.next_frame(man.id); if z=-1 then sprite.prev_frame(man.id); if x>124 then begin sprite.set_transform(man.id,2); i:=i*(-1); end; if x<4 then begin sprite.set_transform(man.id,0); i:=i*(-1); end; x:=x+i; game.refresh; delay(500); until getkeyclicked=ke_key0; end. |
Ответ: Lib_game (Game API Support)
Удали строчку Game.show; и вставь её после game.init; больше ошибок не вижу
|
Ответ: Lib_game (Game API Support)
Всё равно белый экран!
|
Ответ: Lib_game (Game API Support)
В коде всё правильно. Там чувак сам по себе должен то вправо, то влево бегать. Значит у тебя ошибка с расположением файлов.
Библиотеку распаковал в Libs? Проверь все файлы. Самый простой способ найти ошибку, это запустить проект у себя на компе, так что давай выкладывай сюды исходник. |
Ответ: Lib_game (Game API Support)
Пардон, разобрался. Ошибка была в sprite.move(int i,int j,int k), там j и k прибавляются к текущим координатам спрайта, а у меня они были равны текущему X+I и текущему Y, поэтому чувак сразу же уходил за пределы экрана.
|
Ответ: Lib_game (Game API Support)
Привет народ. Не пойму чё за гон с библой гейм. Скомпилил один из примеров этого сайта. открываю через эмулятор - идёт вс норм. Скидываю на нокию - начинает мигать экран. Можно ли это как то исправить?(ЗЫ на сименсе скомпилиная прога пашет норм, на сониэриксонах не проверял)
|
Ответ: Lib_game (Game API Support)
Это не либа виновата, это так нокиа поддерживает GameAPI.
|
Re: Lib_game (Game API Support)
Please help! Пытаюсь понять интересную весч - как я понял либа game может отслеживать одновременное нажатие 8-ми кнопок (4 из них джойстик). В реальности получилось только кнопки джойстика одновременно, или остальные кнопки одновременно. То есть кнопки курсора с game a,game b и т д не хотят работать. Есть ли какая либо библиотека, которая позволит отследить нажатие любых кнопок вместе? Допустим мне нужны одновременно кнопки 0, 1-9, то есть например одновременное нажатие кнопок 1, 3, 5 - это можно как либо отследить? Хотелось бы чтобы допускалось одновремнное нажатие вплоть до всех кнопок 1-9 и др.
|
Ответ: Lib_game (Game API Support)
Это не от библиотеки зависит. Она поддерживает все, что может ява в телефоне. Вообще во многих моделях даже в спецификации явы указано, что поддерживается одновременное нажатие именно клавиш направления, для диагонального движения.
ЗЫ: Простите, но это ж чего надо делать с телефоном, чтобы нажимать ВСЕ клавиши разом? |
Re: Ответ: Lib_game (Game API Support)
Цитата:
|
Ответ: Lib_game (Game API Support)
А можно как нить обойти на нокии этот глю с марганием?
|
Ответ: Lib_game (Game API Support)
collides_with - как пользоваться этой функцией? как мне у примеру написать:
если спрайт g совпадает со спрайтом l тогда ... |
Ответ: Lib_game (Game API Support)
они не совпадают, а соприкасаются, т.е. герой столкнулся со стенкой или пуля попала во врага. А вот что с этим делать тебе решать, взрыв нарисуй например.
|
Ответ: Lib_game (Game API Support)
Это то я понял, я не понял, что даёт третее число в этой строке.
|
Ответ: Lib_game (Game API Support)
Это уровень соприкосновения. Если ноль, то на уровне квадратов размера спрайта, иначе на уровне пикселей, т.е. если там столб шириной в 2 пикселя а ширина спрайта 16 на 16, то будет проверяться именно эти два пикселя.
|
Ответ: Lib_game (Game API Support)
Обьясните что такое тайлы и как с ними работать.....
|
Ответ: Lib_game (Game API Support)
это такая фишка игрового движка мобильной явы. тайлы, по сути, те же спрайты, только используются для создания фона. они задаются одним файлом и на карте уровня, например, указывается только индекс, а система сама отрисовывает там нужный тайл.
я по-моему включал в архив с библиотекой оригинальную справку от явы там это очень хорошо описано. |
Ответ: Lib_game (Game API Support)
в справке нету ничего.... там описание функций отсутствует..... можешь дать?
|
Ответ: Lib_game (Game API Support)
Народ! Обьясните плиз чё не так? в сотый раз переписываю, всё равно белый экран...
program spritetest; uses sprite; var g:integer; begin sprite.init(1); g:= sprite.create('a.png'); sprite.append(g); sprite.set_position(g, 0, 0); sprite.paint(g); delay(999999999); end. обьясните плиз с этой либой, ну и если не сложно, хотелось бы исходничек... |
Ответ: Lib_game (Game API Support)
в начале нужно еще game.init(0);
чтобы показать это все используем game.show а обновление через game.refresh; |
Re: Lib_game (Game API Support)
У меня вопрос по функции pointer_state().
Проблема в том, что после единичного касания экрана функция всегда начинает возвращать единицу. Цитата из кода, на всякий случай: Код:
sensor_touched:=game.pointer_state; Проверялось на Nokia 5800 и эмуляторе MidpX. Предполагаю, что не регистрируется отрыв пальца или стилуса от экрана, поэтому нажатие длится бесконечно. Как бороться? Пока использую такое решение с библиотекой из 17-го поста в этой теме от Kurdt`а. Используются функции pointer_pressed_x и clear_results, что даёт эффект, идентичный эффекту от правильной работы pointer_state(в нулевой пиксель не так просто попасть на дисплее ;) ). Но это решение - хак по моим меркам :) Рабочий код: Код:
sensor_touched:=sensor2.pointer_pressed_x; |
Ответ: Lib_game (Game API Support)
Вы уверены что используете последнюю версию библиотеки?
Отпускание экрана в коде отрабатывается: PHP код:
|
Ответ: Lib_game (Game API Support)
Эм, а поддерживает ли эмулятор ВТК сенсорное управление? Вроде поддерживает, но чёт у мя через либ_сенсор не фурычит ничего(
|
Часовой пояс GMT +4, время: 19:28. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot