Показать сообщение отдельно
Старый 30.06.2012, 15:48   #11
Yadro
Нуждающийся
 
Регистрация: 24.04.2012
Сообщений: 57
Написано 7 полезных сообщений
(для 10 пользователей)
Ответ: Проблемы с 'forward'

procedure load_map;

begin
im
:=LoadImage('/spriteshero2.png');
im2:=LoadImage('/spritessave.png');
SetColor(255255255);drawtext('Создание карты',2,2);repaint;
NewMap(100,100LoadImage('/sprites.png'),32,32);
If 
select=1 then LoadCSV('/map3test.CSV');
If 
select=2 then LoadCSV('/map4test.CSV');
SetColor(255255255);drawtext('Заполнение',2,2);repaint;
MoveMap(xm,ym);
end;


procedure Loading;

begin
SetColor
(000);
FillRect(00GetWidthGetHeight);
setcolor(255,255,255);
drawtext('Load...',GetWidth/2-getStringWidth('Loading...')/2,GetHeight/2-getStringHeight('Load...')/2);
repaint;
end;

Procedure level_select;
var 
key,i:integer;

begin
    SetColor
(000);
    
FillRect(00GetWidthGetHeight);
    
// ------------------------ Установка шрифтов --------------------------------
    
font32.init(1); // Всего 2 шрифта
    
Font(0); LoadFont('Verdana_11'); // Основной шрифт
    // ------------------------ Установка меню --------------------------------
    
menu32.init// инициализация меню
    
LoadCursor(LoadImage('/selector.png')); // Создаем курсор
    
SetMenuWindow(5GetHeight/2GetWidth-5GetHeight); // Задаем окно, в котором будет отображаться меню
    
MenuFonts(00); // Основной и курсорный шрифты
    
addItem2(None'Назад''back');
    for 
i:=1 to 10 do addItem2(None'Level '+i'Level'); // Добавляем элементы меню
    
DrawMenuRepaint;
    
repeat
        key
:=KeyToAction(GetKeyClicked);
        
Delay(50);
        if 
key=GA_DOWN then begin CursorDownDrawMenuRepaintDelay(100); end// Вниз
        
if key=GA_UP then begin CursorUpDrawMenuRepaintDelay(100); end// Вверх
        
if (key=GA_FIREthen // Нажали огонь джойстика или двойной клик по сенсорному экрану
            
begin
                
for i:=1 to 10 do
                
begin
                
If Selected 0 then 
                    begin menu32
.init;font32.Init(0);
                    
Im:=nil;
                    
Im2:=nil;
                    
memclean.clean;//чистим память
                    
menu;
                    
end;
                if 
Selected i    then select:=i;
                
end;
            
end
        Delay
(100);Scroll;
    
until (key=GA_FIRE);
end;

Procedure game;

begin
    repeat
//все процедуры объявлены ранее
    
getkeys;
    
map;
    
sprite;
    
fps;
    
preplay;
    if (
GetKeyClicked=skl) or (GetKeyClicked=skrthen pause;
    while 
isMidletPaused do 
        
begin 
            repeat
                SetColor
(000);
                
FillRect(00GetWidthGetHeight);
                
setcolor(255,255,255);
                
drawtext('Приложение приостоновлено',GetWidth/2-getStringWidth('Приложение приостоновлено')/2,GetHeight/2-getStringHeight('0'));
                
repaint;
                
delay(100);
            
until (KeyToAction(GetKeyClicked)=GA_FIRE);
        
end;
    if 
n>28 then delay(1); 
    
repaint;
    
key := GetKeyClicked;
    
until (key skl)or(key skr);
    
pause;
end;

begin
level_select
;
Loading;
load_map;
//ступор*********************************************
game;
end

Сократил как мог.

Последний раз редактировалось Yadro, 30.06.2012 в 15:49. Причина: Хотя думаю чтобы разобраться нужен весь код(
(Offline)
 
Ответить с цитированием