Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 13:49

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Denkfehler
BeitragVerfasst: Di Jan 21, 2003 12:45 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jan 02, 2003 13:38
Beiträge: 104
Wohnort: Bremen
Ich hab mir überlegt nen kleinen SpaceInvader-Clon zu schreiben
(Verflucht sei der Ti-83 mit seinen spielchen ^^)

naja, und für anfang, also um das prinzip zu simulieren, lass ich am oberen rand ein dreieck hin und her fahren. Das Dreieck wird am linken Rand gezeichnet und ich bewege es mit gltranslatef(mx2,0,0);. Das klappt auch wunderbar. Nun hab ich als test, wenn mx2 = 200 ist, geschrieben:
Code:
  1. if mx2 = 200 then
  2.  
  3.    begin
  4.  
  5.     glcolor3f(1,0,0);
  6.  
  7.     glbegin(gl_lines);
  8.  
  9.      glvertex2f(mx2+20,30);
  10.  
  11.      glvertex2f(mx2+20,50);
  12.  
  13.     glend();
  14.  
  15.  
  16.  
  17.    end;


also soll da eine linie gezeichnet werden....

leider entsteht da keine linie :( hab ich vielleicht nen denkfehler begangen? wäre schön wenn mir wer helfen könnte

gruß Howi

_________________
------------------------------------------------------- <br>Wer andern eine Brawurst brät, <br>hat ein Bratwurst Bratgerät...... <br> <br>So long, Howard ^^ <br>-------------------------------------------------------


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 21, 2003 12:57 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jan 02, 2003 13:38
Beiträge: 104
Wohnort: Bremen
naja, bin schon stück weiter, also die linie wird jetzt gezeichnet, aber nur für ca ne sekunde, dann ises wieder weg...

_________________
------------------------------------------------------- <br>Wer andern eine Brawurst brät, <br>hat ein Bratwurst Bratgerät...... <br> <br>So long, Howard ^^ <br>-------------------------------------------------------


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 21, 2003 13:06 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

das sie nur ca. 1 Sekunde da ist, liegt denke ich mal daran das "mx2" halt nur für ca. 1 Sekunde genau = 200 ist... :)

mach dochmal statt "=" ein ">=" oder so..

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 21, 2003 13:12 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jan 02, 2003 13:38
Beiträge: 104
Wohnort: Bremen
das ist eine idee, aber eigentlich hätt ich ja lieber nen präzisen moment, sprich nur wenn mx2 = 200 ist soll eine linie gezeichnet werden und dann senkrecht sich nach unten bewegen:

Code:
  1.  
  2.  
  3. if g3 = false then
  4.  
  5.  &nbsp;my2:=my2+1;
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13. if mx2 >= 200 then
  14.  
  15.  &nbsp;begin
  16.  
  17.  
  18.  
  19.  &nbsp; &nbsp;glpushmatrix;
  20.  
  21.  &nbsp; &nbsp;glcolor3f(1,0,0);
  22.  
  23.  &nbsp; &nbsp;glbegin(gl_lines);
  24.  
  25.  &nbsp; &nbsp; glvertex2f(mx2+50,30);
  26.  
  27.  &nbsp; &nbsp; glvertex2f(mx2+50,50);
  28.  
  29.  &nbsp; &nbsp;glend();
  30.  
  31.  &nbsp; &nbsp;gltranslatef(0,my2,0);
  32.  
  33.  &nbsp; &nbsp;glpopmatrix;
  34.  
  35.  &nbsp;end;


wobei g3 standartmäßig false ist :)

_________________
------------------------------------------------------- <br>Wer andern eine Brawurst brät, <br>hat ein Bratwurst Bratgerät...... <br> <br>So long, Howard ^^ <br>-------------------------------------------------------


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 21, 2003 13:16 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Zitat:
das ist eine idee, aber eigentlich hätt ich ja lieber nen präzisen moment, sprich nur wenn mx2 = 200 ist soll eine linie gezeichnet werden und dann senkrecht sich nach unten bewegen


Aber dann wird sie halt nur dann gezeichnet wenn mx2 exakt genau 200 ist.. :)

Ansonsten mach es doch auf die Art:

Wenn mx2 = 200 ist wird eine Variabled "DrawLine" auf "True" gesetzt... wenn "DrawLine=true" dann zeichnest du die Linie... und wenn sie dann nichmehr gezeichnet werden soll (ich nehme mal an wenn sie unten aus dem Bild raus ist, dann setzt du "DrawLine" einfach wieder auf false.. :) )

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 21, 2003 13:49 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jan 02, 2003 13:38
Beiträge: 104
Wohnort: Bremen
jetzt musst du mir nochmal helfen aya :oops:

das ganze klappt ganz gut(mit kollionserkennung komm ich später hrhr)

jedoch hab ich im moment keine idee wie man

a) mehrere linien damit zeichnet

B) hatte ich einen timer eingebaut der alle 5sec einer variable eine zufallszahl zwischen 1 und 1000 zuweist, was soviel bringen sollte wie
wenn mx2 = die zufallsvariable ist soll ne linie gezichnet werden..

leider harmonieren timer und onidle wohl nicht :(

also bräuchte ich ne idee wie man trotzdem nen guten zufall herstellen kann...

und du bist doch immer einer der ersten mit rat...was ich zu schätzen weiß :)

gruß Howi

_________________
------------------------------------------------------- <br>Wer andern eine Brawurst brät, <br>hat ein Bratwurst Bratgerät...... <br> <br>So long, Howard ^^ <br>-------------------------------------------------------


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 21, 2003 14:02 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

also für die mehreren Linien... (Ich nehme an das sind "schüsse"? ;) )

Code:
  1. TSchuss = Record
  2.  
  3.  &nbsp;X, Y, Z: Single;
  4.  
  5.  &nbsp;Visible: Boolean;
  6.  
  7. end;
  8.  
  9.  
  10.  
  11. var
  12.  
  13.  &nbsp;Schusse: Array of TSchuss;


und dann machst du jedesmal wenn mx2=200:

Code:
  1. if mx2=200 then begin
  2.  
  3.  &nbsp;SetLength(Schusse,Length(Schusse)+1);
  4.  
  5.  &nbsp;Schusse[High(Schusse)].X:=...
  6.  
  7.  &nbsp;Schusse[High(Schusse)].Visible:=True;
  8.  
  9. end;


und beim Zeichnen gehst du den kompletten Array einfach durch... :)

zu der Sache mit dem Timer, wieso sollten denn das OnIdle und der Timer nich zusammen funktionieren???

Au'revoir,
Aya~

PS: Schenkt mir irgendwer nen GrafikTablett?? *g* Bin grad am Verzweifeln mit der Maus Japanische Schriftzeichen in Maya zu animieren... brr~~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 21, 2003 15:29 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jan 02, 2003 13:38
Beiträge: 104
Wohnort: Bremen
Hallo liebe Aya,

könntest du dich nicht evtl dazu bereit erklären kurz im icq darüber zu plauschen`ich bring auch kaffee und kuchen mit :)

_________________
------------------------------------------------------- <br>Wer andern eine Brawurst brät, <br>hat ein Bratwurst Bratgerät...... <br> <br>So long, Howard ^^ <br>-------------------------------------------------------


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]