MIDlet Pascal
Поиск по сайту
Форма входа

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Яндекс.Метрика

Друзья сайта
IT юмор - развлечения
Заработать в интернете - легко!Просто сиди и кликай.
Четверг, 15.11.2018, 00.59.21
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход
Урок №1 - подготовка простых функций! - Урок №1 2D erni
Мы с вами начнем писать легкую бродилку.
Я назвал игру эрни. 
Потому что игра будет заключатся именно на его небольшом приключении.

создаем нужные нам переменые и константы...
const
  image_count=4; {количество картинок в ресурсе}
  width=240; {ширина экрана}
  height=320; {высота экрана}

var
  key, {обработка зажатой кнопки}
  k, {обработка нажатой кнопки}
  temp:integer; {временая переменая}
  img:array[1..image_count] of  image; {масив с картинками}

розбераем важное:
"image_count" мы записываем в эту константу количество загружаемых картинок в приложении.
подписывать все изображения в ресурсе необходимо по нумерации "1.png,2.png,3.png,4.png,.." и до последней, внимательно смотрите за тем, чтоб не было ошибки, такой как если вы напишите image_count=7;
а в ресурсе будет 3 изображения ваш мидлет упадет (зависнет).
все изображения должны иметь формат "*.png" так будет проще их загружать!


розберем использоваемые функции.

procedure LoadImages; {загрузка всех изображений}
Begin
  For temp:=1 To image_count Do
  img[temp]:=LoadImage(''+temp+'.png');
End;

розбераем:
For temp:=1 To image_count Do - цикл обрабатывается столько раз сколько у вас вписано изображений в константу: "image_count".
img[temp]:=LoadImage(''+temp+'.png'); - эта функция загрузит весь масив img изо.
вывести на экран любое изображение будет очень удобно легкой функцией
DrawImage(img[{номер изо.}],{кор. X},{кор. Y});
пример:
DrawImage(img[1],50,60);


новая функция:
procedure Background;
Begin
  SetColor(255,255,255); {белый цвет}
  FillRect(0,0,width,height); {зарисовывуем экран}
End;
розбераем:
сильно объяснять не буду, эта функция будет зарисовывать наш экран при каждом обновлении цикла, таким образом затирая прошлое действие.


главный цыкл:
begin
  LoadImages; {загрузка картинок}
Repeat  {главный цыкл}
  Background; {зарисовка экрана}

  Repaint; {перерисовка}
  Delay(15); {задержка}
until false; {бесконечный режим}
end.


весь код выглядит так:
program erni;
const
  image_count=4; {количество картинок в ресурсе}
  width=240; {ширина экрана}
  height=320; {высота экрана}

var
  key, {обработка зажатой кнопки}
  k, {обработка нажатой кнопки}
  temp:
  integer;
  img:array[1..image_count] of  image;

procedure LoadImages;
Begin
  For temp:=1 To image_count Do
  img[temp]:=LoadImage(''+temp+'.png');
End;

procedure Background;
Begin
  SetColor(255,255,255); {белый цвет}
  FillRect(0,0,width,height); {зарисовывуем экран}
End;

begin
  LoadImages; {загрузка картинок}
Repeat  {главный цыкл}
  Background; {зарисовка экрана}

  Repaint; {перерисовка}
  Delay(15); {задержка}
until false; {бесконечный режим}
end.


Всем спосибо,
ждите продолжения
Автор: Андрей Ступницкий
Если вы нашли ошибки/очепятки в тексте то сообщите о них на форуме
А также можете заказать программу/игру на этой странице

www.parkflyer.ru - радиоуправляемые модели, радиоуправляемые модели самолетов, магазин радиоуправляемых моделей
Роспись стен, скульптуры на заказ
Wladymyr © 2012-2018
Создать бесплатный сайт с uCoz