Witam wszystkich;)
Przeglądałam to forum już kilka razy i nie napotkałam na temat który w pełni zaspokoił by moje <ort>wątpliwośći</ort>
i który by mi pomógł w 100%.
Mianowicie chodzi o co, chodzi o to że pisze sobie Arkanoida i mam problem z kierowaniem "deski" za pomocą klawiatury. Jak nacisnę :"Nowagra" wygeneruja mi sie sciany do zbijania i deska(pileczke <ort>na razie</ort> zrostawiam) i jak dobrze rozumie w momencie jak nacisne k lub l deska powinna sie poruszac a tak sie nie dzieje. Ponizej zalaczam w jaki sposob napisalam te procedury jakby ktos mogl mi wskazac blad to <ort>bylabym</ort> wdzieczna:
procedure TForm1.Nowagra1Click(Sender: TObject);
begin
x:=150; //polozenie po x
y:=50; //polozenie po y
fi:=0; //kat
p:=300; //polozenie deski po x
sciana1; //wywolanie utworzenia sciany 1
sciana2; //wywolanie utworzenia sciany 2
sciana3; //wywolanie utworzenia sciany 3
sciana4; //wywolanie utworzenia sciany 4
deska2:=TBitmap.Create; //utworzenie bitmapy
Deska2.LoadFromFile('deska.bmp'); //wczytanie bitmapy
Image1.Canvas.Draw(p,Image1.Height-20,deska2); //wyswietlenie bitmapy
deska2.free; //zwolnienie bitmapy
end;
//przesuniecie deski w lewo
procedure TForm1.deska_w_lewo;
begin
deska:=TBitmap.Create; //utworzenie bitmapy
Deska.LoadFromFile('deska.bmp'); //wczytanie bitmapy
Image1.Canvas.Draw(p,Image1.Height-20,deska); //wyswietlenie bitmapy
deska.free; //zwolnienie bitmapy
p:=p-5; //zmiana wspolrzedniej x
deska2:=TBitmap.Create; //utworzenie bitmapy
Deska2.LoadFromFile('deska.bmp'); //wczytanie bitmapy
Image1.Canvas.Draw(p,Image1.Height-20,deska2); //wyswietlenie bitmapy
deska2.free; //zwolnienie bitmapy
end;
//przesuniecie deski w lewo
procedure TForm1.deska_w_prawo;
begin
deska:=TBitmap.Create; //utworzenie bitmapy
Deska.LoadFromFile('deska.bmp'); //wczytanie bitmapy
Image1.Canvas.Draw(p,Image1.Height-20,deska); //wyswietlenie bitmapy
deska.free; //zwolnienie bitmapy
p:=p+5; //zmiana wspolrzedniej x
deska2:=TBitmap.Create; //utworzenie bitmapy
Deska2.LoadFromFile('deska.bmp'); //wczytanie bitmapy
Image1.Canvas.Draw(p,Image1.Height-20,deska2); //wyswietlenie bitmapy
deska2.free; //zwolnienie bitmapy
end;
//wlaczenie/wylaczenie pauzy
procedure TForm1.pauza;
begin
if not Timer1.Enabled then
Timer1.Enabled:=true
else
Timer1.Enabled:=False;
ShowMessage('Pauza zalaczona');
end;
//nacisniecie klaiwsza na klawiaturze
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
case key of
'k' : deska_w_lewo;
'l' : deska_w_prawo;
'p' : pauza;
end;
end;
z gory dziekuje za pomoc
dorota.