C++ Builder 6 problem z programem
Ostatnio zmodyfikowano 2016-03-08 15:31
MSSC Temat założony przez niniejszego użytkownika |
C++ Builder 6 problem z programem » 2016-03-07 20:59:52 Witam, i od razu przepraszam za prozaiczny tytuł, jednak na prawdę nie wiem, jak to inaczej napisać :).
Chodzi o to, że mam w C++ Builder 6 bardzo prosty programik: jedno okno, jeden przycisk, jeden timer i jedna kulka. I właśnie o tą kulkę roztacza się cały problem. Zapragnąłem by po naciśnięciu przycisku, kulka leciała w stronę brzegu okna, co zrealizowałem bez problemu podpinając guzik pod włączenie timera i następnie w jego takt posuwając kulkę o kilka pikseli w stronę brzegu okna. Potem, by skomplikować sobie zadanie postanowiłem sprawić, by kulka iście hollywodzkim ruchem odbiła się od brzegu okna, poleciała w drugą stronę i tak w kółko. Zdecydowałem, że zrobię to używając tej samej zmiennej, tylko na minusie, i... nie działa... Kulka po dojściu do rogu ekranu czeka niewzruszenie, choć powinna już dawno się odbić...
Kod (w pętli timera)
if (Kulek->Left==Form1->Width-65) { speedx=-speedx; } if (Kulek->Top==Form1->Height-65) { speedy=-speedy; } else {Kulek->Left=Kulek->Left+speedx; Kulek->Top=Kulek->Top+speedy;}
Gdzie kulek to kulka, form1 to okno, a speedx i speedy to prędkość w pionie i poziomie, zadeklarowane jako inty z początkową wartością 1.
Z góry dziękuję za pomoc. |
|
darko202 |
» 2016-03-08 07:42:20 opisywane objawy wskazują że niespełniony jest np. warunek if (Kulek->Left==Form1->Width-65)
wyświetl sobie gdzieś informację Kulek->Left Form1->Width-65
a najlepiej użyj techniki debugowania programu
|
|
MSSC Temat założony przez niniejszego użytkownika |
» 2016-03-08 15:31:43 Problem rozwiązany, inaczej sformułowałem kod. |
|
« 1 » |