Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal

Ответ
 
Опции темы
Старый 09.11.2011, 18:22   #31
leonid
Оператор ЭВМ
 
Регистрация: 01.11.2011
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите исправить ошибку

Да, неплохо бы готовый пример, если не затруднит.
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 18:24   #32
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Помогите исправить ошибку

Минутку...

Вот. Пользуйся.
DEMO_landscape_new.rar
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 19:11   #33
leonid
Оператор ЭВМ
 
Регистрация: 01.11.2011
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите исправить ошибку

program lol;

var
i,j,x,y,key,:integer;
S:string;
res:resource;
land_image:array [1..2] of image;
land_array:array [1..30,1..30] of integer;
pers:image;

begin

land_image[1]:=loadimage('/land1.png');
land_image[2]:=loadimage('/land2.png');
for i:=1 to 30 do
for j:=1 to 30 do
land_array [i,j]:=1;
res:=openresource('/map.txt');
for i:=1 to 10 do

begin
S:=readline (res);
land_array[j,i]:=stringtointeger(GetChar(S,j-1));
end;
closeresource (res);
REPEAT

setcolor(255,255,255);
fillrect(0,0,240,320);

for i:=1 to 11 do
for j:=1 to 9 do
begin
drawimage (land_image[land_array[j+,i+]],(j-1+)*30-,(i-1)*30);
end;

drawimage (pers,50,40);
key:=GetKeyPressed;

if keytoaction(key)=GA_UP then
begin
y:=y-1;
end;

if keytoaction(key)=GA_DOWN then
begin
y:=y+1;
end;

if keytoaction(key)=GA_LEFT then
begin
x:=x-1;
end;

if keytoaction(key)=GA_RIGHT then
begin
x:=x+1;
end;

repaint;
delay (20);

UNTIL (GetKeyPressed=KE_KEY0);

end.
Немного упростил под себя. Но при компиляции тычет в строку с "var" и на ту, где рисуется белый прямоугольник на весь экран.
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 20:24   #34
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Помогите исправить ошибку

"i,j,x,y,key,:integer;" убери лишнюю запятую - она вводит МидлетПаскаль в заблуждение

"drawimage (land_image[land_array[j+,i+]],(j-1+)*30-,(i-1)*30);" лишние минусы и плюсы. нет такого числа как "5+" или "3-" =)
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 20:34   #35
leonid
Оператор ЭВМ
 
Регистрация: 01.11.2011
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите исправить ошибку

Ах да, невнимательность =)
Но почему-то всё равно белый экран...
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 20:35   #36
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Помогите исправить ошибку

А ты персонажа в память загрузил?
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 20:36   #37
leonid
Оператор ЭВМ
 
Регистрация: 01.11.2011
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите исправить ошибку

Конечно.
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 20:37   #38
leonid
Оператор ЭВМ
 
Регистрация: 01.11.2011
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите исправить ошибку

А, и правда не загрузил. Я думал, ты про ресурс.
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 20:40   #39
leonid
Оператор ЭВМ
 
Регистрация: 01.11.2011
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите исправить ошибку

Да даже с персом виснет
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 20:45   #40
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Помогите исправить ошибку

Регистр соблюден?

"Pers.png" и "pers.png" это два разных файла

И вставь вот это

for i:=1 to 30 do
for j:=1 to 30 do
land_array[i,j]:=1;

перед S:=readline (res);

Так как по умолчанию значения этого массива ноль, то движок пытается вывести картинку ландшафта под номером ноль. А у нас есть только 1 и 2.
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 20:47   #41
leonid
Оператор ЭВМ
 
Регистрация: 01.11.2011
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите исправить ошибку

Так точно, соблюден.
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 20:54   #42
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Помогите исправить ошибку

а код вставил?

секунду, а зачем в коде вот это (выделено жирным)?

program lol;

var
i,j,x,y,key,:integer;
S:string;
res:resource;
land_image:array [1..2] of image;
land_array:array [1..30,1..30] of integer;
pers:image;

begin

land_image[1]:=loadimage('/land1.png');
land_image[2]:=loadimage('/land2.png');
for i:=1 to 30 do
for j:=1 to 30 do
land_array [i,j]:=1;
res:=openresource('/map.txt');
for i:=1 to 10 do

begin
S:=readline (res);
land_array[j,i]:=stringtointeger(GetChar(S,j-1));
end;
closeresource (res);
REPEAT

setcolor(255,255,255);
fillrect(0,0,240,320);

for i:=1 to 11 do
for j:=1 to 9 do
begin
drawimage (land_image[land_array[j+,i+]],(j-1+)*30-,(i-1)*30);
end;

drawimage (pers,50,40);
key:=GetKeyPressed;

if keytoaction(key)=GA_UP then
begin
y:=y-1;
end;

if keytoaction(key)=GA_DOWN then
begin
y:=y+1;
end;

if keytoaction(key)=GA_LEFT then
begin
x:=x-1;
end;

if keytoaction(key)=GA_RIGHT then
begin
x:=x+1;
end;

repaint;
delay (20);

UNTIL (GetKeyPressed=KE_KEY0);

end.
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 20:59   #43
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Помогите исправить ошибку

Чтото ты намудрил.
Должно быть так

for i:=1 to 10 do
begin
S:=readline (res);
for j:=1 to 10 do
land_array[j,i]:=stringtointeger(GetChar(S,j-1));
end;
closeresource (res);

То, что красным выделено, ты пропустил
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 21:12   #44
leonid
Оператор ЭВМ
 
Регистрация: 01.11.2011
Сообщений: 35
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите исправить ошибку

Исправил, но всё равно белый экран =(
(Offline)
 
Ответить с цитированием
Старый 09.11.2011, 21:15   #45
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Помогите исправить ошибку

Скинь короче мне свой проект, счас посмотрю, в чем дело
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:37.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com