|
03.10.2008, 13:03
|
#31
|
Нуждающийся
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений (для 12 пользователей)
|
Ответ: 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.
|
(Offline)
|
|
03.10.2008, 20:10
|
#32
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Ответ: Lib_game (Game API Support)
я думаю он не виснет, а просто не находит файл /hero/walk/walk.png
МР не умеет класть ресурсы в папки, он их все пихает в корень.
|
(Offline)
|
|
03.10.2008, 21:26
|
#33
|
Нуждающийся
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений (для 12 пользователей)
|
Ответ: Lib_game (Game API Support)
Я вручную прописываю пути к файлам, и они после компиляции лежат по папкам внутри мидлета. Может быть библа ненаходит файл? Попробую положить в файлик в корень.
|
(Offline)
|
|
04.10.2008, 09:38
|
#34
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Ответ: Lib_game (Game API Support)
пропущено game.show;
и нужно использовать game.refresh; вместо repaint;
при вызове sprite.create_frames в качестве параметров указываются ширина и высота фрейма, т.е. кадра. Ширина и высота картинки, соответсвенно, должна быть кратна им, иначе система не может корректно создать спрайт и виснет на этом шаге.
116 на 29 вроде не делится.
|
(Offline)
|
|
10.10.2008, 09:25
|
#35
|
Нуждающийся
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений (для 12 пользователей)
|
Ответ: Lib_game (Game API Support)
Спасибо, я понял в чём проблема. Маленькие файлы открываются без проблем, а мой размером в 47,7Kb ни в какую не хочет. Что делать?
....
Уменьшил размер файла до 33,1Kb и всё заработало, правда качество картинки пострадало
Если вы хотите чтобы ресурс лежал внутри мидлета в папке, то перед компиляцией откройте файл *.mpproj блокнотом и впишите туда соответственный путь к файлу.
Последний раз редактировалось Cliffe Snake, 10.10.2008 в 11:14.
|
(Offline)
|
|
10.10.2008, 11:09
|
#36
|
Нуждающийся
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений (для 12 пользователей)
|
Ответ: Lib_game (Game API Support)
Блин, а почему нельзя использовать стандартные средства вывода графики совместно с библиотеками Game_api? Или может ли переменная, используемая в библиотеке, повлиять на переменную в моей программе?
Последний раз редактировалось Cliffe Snake, 10.10.2008 в 11:16.
|
(Offline)
|
|
10.10.2008, 18:22
|
#37
|
Разработчик
Регистрация: 06.04.2008
Сообщений: 541
Написано 196 полезных сообщений (для 638 пользователей)
|
Ответ: Lib_game (Game API Support)
Кстати, не знаю почему, но вроде бы у меня стандартные графические средства МП работают быстрее, чем Lib_game.
|
(Offline)
|
|
10.10.2008, 20:59
|
#38
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Ответ: Lib_game (Game API Support)
Cliffe Snake, а кто сказал, что их нельзя использовать? можно
Romanzes, все зависит от реализации ява машины. Может где-то и быстрее. Ведь Lib_game работает через индексы, хотя я думаю это критично только для гонок, например.
|
(Offline)
|
|
21.10.2008, 23:16
|
#39
|
Нуждающийся
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений (для 12 пользователей)
|
Ответ: Lib_game (Game API Support)
Всё разобрался во всём, спасибо за такую полезную либу =)
|
(Offline)
|
|
25.10.2008, 02:31
|
#40
|
Нуждающийся
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений (для 12 пользователей)
|
Ответ: Lib_game (Game API Support)
Pilgrim, у меня к тебе ещё один вопрос.
Почему после game.init; функции getkeyclicked и getkeypressed перестают работать(т.е. всегда возвращают "0"), а набора в 9 клавиш (Right,Left,Up,Down,Fire,7,9,*,#) катастрофически не хватает :'(
Как можно деинициализировать библу?(Мол попользовался библой и вырубил её, а потом снова включил и т.д.)
Или как работать в либе game с другими клавишами?
|
(Offline)
|
|
25.10.2008, 20:28
|
#41
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Ответ: Lib_game (Game API Support)
Обновил библиотеку. getKeyPressed теперь работает.
Отключается она простым переходом, например showCanvas.
Включается потом, через game.show
PS: init теперь с параметром!!!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.11.2008, 23:42
|
#42
|
AnyKey`щик
Регистрация: 31.10.2008
Сообщений: 3
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: 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.
|
(Offline)
|
|
03.11.2008, 04:09
|
#43
|
Нуждающийся
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений (для 12 пользователей)
|
Ответ: Lib_game (Game API Support)
Удали строчку Game.show; и вставь её после game.init; больше ошибок не вижу
|
(Offline)
|
|
03.11.2008, 08:49
|
#44
|
AnyKey`щик
Регистрация: 31.10.2008
Сообщений: 3
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Lib_game (Game API Support)
Всё равно белый экран!
|
(Offline)
|
|
03.11.2008, 09:22
|
#45
|
Нуждающийся
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений (для 12 пользователей)
|
Ответ: Lib_game (Game API Support)
В коде всё правильно. Там чувак сам по себе должен то вправо, то влево бегать. Значит у тебя ошибка с расположением файлов.
Библиотеку распаковал в Libs? Проверь все файлы. Самый простой способ найти ошибку, это запустить проект у себя на компе, так что давай выкладывай сюды исходник.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:47.
|