Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2008, 04:05   #1
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию Оптимизация кода

Сейчас делаю игрушку для телефона (java) но пишу на мидлет паскале, если тестировать игру на емуляторе пк, то все хорошо работает, на телефоне при запуски игры видишь белый екран, судя по всему у телефона не хватает памяти и процессор слаб...посоветуйте рациональные методы вывода графики и может быть есть где то программа которая тестируюе .jar приложение или исходный код (хоть паскаля хоть j2me) и выводит системные требования для приложения?
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 15.08.2008, 09:27   #2
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Возможные ошибки
FillRect не там стоит!
Repaint делать не забываешь?
Слева во вкладке properties попробуй разные версии MIDP и MIDlet type.

И еще, модель телефона можно узнать?
Kostia вне форума Ответить с цитированием
Старый 15.08.2008, 10:06   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Я удивляюсь, такой повод изучить Яву, нет все этот MP терзают
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 15.08.2008, 16:32   #4
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

Nokia 3250 тестировал на 4 нокиях включая E50 нигде не идет.
FillRect ставил вначале цикла repeat
Repaint не забываю, ставлю в конце цикла =) експерементировать с мидп пробовал...
mutabor я бы с удовольствием выучил, но нет возможности качать 300мб софта и сдк для j2me.
Я ваш новый друг, смиритесь!

Последний раз редактировалось [Smarik]; 15.08.2008 в 16:34.
[Smarik] вне форума Ответить с цитированием
Старый 15.08.2008, 16:50   #5
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Попробуй поспрашивать тут
Kostia вне форума Ответить с цитированием
Старый 15.08.2008, 17:00   #6
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

Хорошо, но все таки тут еще спрошу =)
Код:
program NewProject;
var
    img:array [0..1] of image;
    key,x,y,i,stor:integer;
begin
for i:=0 to 1 do
img[i]:=LoadImage('/'+i+'.png');
x:=50;
y:=50;
stor:=0;
    repeat
SetColor(255,255,255);
FillRect(0,0,getWidth,GetHeight);
    if stor=0 then	
DrawImage(img[0],x,y) else	DrawImage(img[1],x,y);
key:=GetKeyPressed;
    if key=KE_KEY4 then begin
stor:=0; 
x:=x-2;
end;
    if key=KE_KEY6 then begin
stor:=1;
x:=x+2;
end;
repaint;
delay(50);
    until GetKeyClicked=KE_KEY0;
end.
вот код и сам jar Файл, на пк игра идет, на телефоне опять же белый екран, в чем тут ошибка?
Вложения
Тип файла: zip NewProject.zip (9.7 Кб, 14 просмотров)
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 15.08.2008, 17:42   #7
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Тут ошибок нет, скорее всего - это корявость MP или у Nokia немного другие стандарты на счет файловой системы и для загрузок картинок нужно поюзать какуюнибудь библиотеку!
Я залил на телефон и там все работает! У меня Sony Ericsson W800i
Kostia вне форума Ответить с цитированием
Старый 15.08.2008, 18:03   #8
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

Спасибо, очень помог, теперь хоть ясно что причина не в моих руках.
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 15.08.2008, 19:51   #9
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

Цитата:
Сообщение от Kostia Посмотреть сообщение
Попробуй поспрашивать тут
Все таки проблема оказалась в моих руках, на случий если кто сталкнется с такой проблемой (обшарив весь форум который посоветовал Костя я понял что я один такой) ява регистрозависимый язык у меня был формат .PNG а загружал в массив я .png
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 20.08.2008, 15:00   #10
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию

Возникла еще одно проблема и поетому может переименовать тему в midlet pascal? на форуме булиана чтот не помогли, надеюсь на вас
Код:
                                program FedorGame;
type
TLevel=record
x,y,level:integer;
img:image;
end;  
TFedor=Record
hp,speed:integer;
x,y,rand:integer;
st:string;
img:image
end;
var
lev:TLevel;
Fed:TFedor;
enter:string;
score:integer;
procedure NewGame;  
var
key:integer; 
exit,clicked:command;                         
begin
FillRect(0,0,getWidth,GetHeight);
lev.level:=1;
{загружаем какртинку в зависимости от уровня}
lev.img:=LoadImage('levimg'+lev.level+'.PNG'); 
{находим координаты центра екрана}
lev.x:=(GetWidth/2)-(GetImageWidth(lev.img)/2);
lev.y:=(GetHeight/2)-(GetImageHeight(lev.img)/2);
{загружаем персонажа}
fed.img:=LoadImage('/4.PNG');
{находим координаты центра екрана}
fed.x:=(GetWidth/2)-(GetImageWidth(fed.img)/2);
fed.y:=(GetHeight/2)-(GetImageHeight(fed.img)/2);
{говорим что персонаж смотрит направо}
fed.st:='right'; 
{софт клавиша}
exit := CreateCommand('Выход', CM_EXIT, 1); 
AddCommand(exit); 
repeat
FillRect(0,0,getWidth,GetHeight);
{проверяем содержание переменной Score и устанавливаем уровень}
if score<99 then lev.level:=1; 
if (score>100) and (score<199) then lev.level:=2; 
if (score>200) and (score<399) then lev.level:=3;
if (score>400) and (score<699) then lev.level:=4;
if (score>700) and (score<=1000) then lev.level:=5;
{устанавливаем скорость персонажа в зависимости от уровня}
fed.speed:=lev.level;
{рендом для создания анимации}
randomize;
{если персонаж смотрит налеов загружаем либо 0.PNG или 1.PNG или 2.PNG, получается анимация}
if fed.st='left' then 
begin 
fed.rand:=random(3);
fed.img:=LoadImage('/'+fed.rand+'.PNG');
end;
{аналогично в другую сторону}
if fed.st='right' then 
begin 
fed.rand:=random(6)-3;
fed.img:=LoadImage('/'+fed.rand+'.PNG');
end;
{рисуем задний план и персонажа}
DrawImage(lev.img,lev.x,lev.y);
DrawImage(fed.img,fed.x,fed.y);
{управление}
key:=GetKeyPressed;
if key=KE_KEY2 then
fed.y:=fed.y-fed.speed;
if key=KE_KEY8 then
fed.y:=fed.y+fed.speed;
if key=KE_KEY6 then 
begin
fed.st:='right';
fed.x:=fed.x+fed.speed;
end;
if key=KE_KEY4 then 
begin
fed.st:='left';
fed.x:=fed.x-fed.speed;
end;
repaint; 
delay(50);
clicked := getClickedCommand; 
{ждем нажатия клавиши выход}
until clicked = exit; 
if clicked=exit then halt;
{удаляем софт клавишу}
removeCommand(exit);
end;
когда программа доходит до етой процедуры игра показывает чистый дисплей, запускал процедуру отдельно от остальных, тоже самое...
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация кода. MAKTECYMA Общие вопросы C/C++ 2 05.06.2008 16:48
Нужна оптимизация дельфинского кода JTG Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 29.05.2008 14:53
Оптимизация кода программы insi Фриланс 2 17.05.2008 18:30
Оптимизация WEB SirJay Свободное общение 0 09.05.2008 00:26
Выдернуть куски кода из html-кода trafbite Помощь студентам 7 18.08.2007 13:51