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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2011, 14:22   #1
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
Вопрос Не работает игра на канве

Пишу игру на канве. желтый квадрат должен уворачиваться от рандомно
движущихся врагов. все враги объединены в один объект. в методе,
организуещем движение противников возникает EAccessViolation.враги
управляются таймером. воттекст модуля.
Вложения
Тип файла: rar Unit1.rar (1.6 Кб, 12 просмотров)
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 17.02.2011, 14:29   #2
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Помогите пожалуйста
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 17.02.2011, 14:42   #3
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

вроди надо написать что то типа
перед запуском тимера врагов
Код:
Squares := TSquare.Create;
тоесть они у тебя не созданы а обрашение к ним идет
Цитата:
For i:=0 to length(Squares)-1 do

ЗЫ. заливать надо весь проект
VirusN13

Последний раз редактировалось ArtGrek; 17.02.2011 в 14:45.
ArtGrek вне форума Ответить с цитированием
Старый 17.02.2011, 15:05   #4
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Код:

Squares: array of Tsquare;

constructor TVragi.Create(Canva: TCanvas);
var i:integer;
begin
  SetLength(Squares, ChisloVragov);
  for i:=0 to length(Squares)-1 do
    begin
      Squares[i]:=Tsquare.Create(Canva, VragColor);
      Squares[i].X:=random(Form1.Width-1)+1;
      Squares[i].Y:=random(Form1.Height-1)+1;
    end;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Bitmap:=TBitmap.Create;
  Square:=Tsquare.Create(form1.Canvas, BrushColor);
  Vragi:=TVragi.Create(form1.Canvas);
  with Square do
    begin
      x:=Form1.Width shr 1;
      y:=Form1.Height shr 1;
      width:=50;
      Show;
    end;
  Schetchik:=0;
  Timer1.Enabled:=true;
  VragiTimer.Enabled:=true;
end;
После того как я немного изменил вот эту процедуру:
Код:
procedure TVragi.UvelCh(Na: integer);
var b,i:integer;
begin
  b:=length(Squares);
  SetLength(Squares, b+na);
  for i:=b to b+na-1 do
    begin
      Squares[i]:=Tsquare.Create(Squares[0].Canvas, VragColor);
      Squares[i].X:=0;squares[i].Y:=0;
    end;
  RandomMove;
end;
ошибка перестала появляться но противников не видно
у таймеров Enabled сначала = false
Почему враги не прорисовываются?
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 17.02.2011, 15:14   #5
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

извени но неохота разнираца что к к чему в уме, залеи весь проект с последним исправлением
на практике видно
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 17.02.2011, 17:04   #6
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Вот весьпроект
Вложения
Тип файла: rar igra1.rar (3.6 Кб, 11 просмотров)
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 17.02.2011, 20:06   #7
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

вот исправил, основная ваша ошибка - не задается ширина в конструкторе врагов (и в увеличителе тоже), такж от себя кое-какие доводки выставил , думаю вы согласитесь с ними
Вложения
Тип файла: zip igra.zip (11.2 Кб, 16 просмотров)
phomm вне форума Ответить с цитированием
Старый 17.02.2011, 22:09   #8
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
Радость

Спасибо большое))))
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с пикселями на канве koshel Мультимедиа в Delphi 13 08.02.2010 21:25
РИсование на КАНВЕ- в Delfi melloun Помощь студентам 5 10.01.2010 13:32
цвета на канве Juffin Общие вопросы Delphi 3 17.05.2009 21:57
поиск по канве Bayazet Мультимедиа в Delphi 3 28.01.2009 14:52
Мерцание на Канве SERG1980 Мультимедиа в Delphi 3 30.04.2008 08:14