Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

"Wassertropfen"-Effekt mit CIRCLE

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 19.12.2004, 15:08    Titel: "Wassertropfen"-Effekt mit CIRCLE Antworten mit Zitat

Hallo !
Ich möchte mit dem CIRCLE Befehl einen Wassertropfen Effekt machen !
Also das ein Tropfen immer weiter nach unten "tropft"

Eigentlich dachte ich das geht ganz einfach !
Hier ist der Code der nicht funktioniert :

Code:

SCREEN 12
RANDOMIZE TIMER
x = int(rnd*450)+1 'Variable für x Achse
y = int(rnd*30)+1   'Variable für y Achse
r = int(rnd*50)+1    'Variable für den Radius
CIRCLE (x, y),r ,1
x = x + 20
CIRCLE (x, y),r, 1



Also der Sinn der Sache ist das die Variable x verändert wird und das der Wassertropfen (der wo zuerst am oberen Bildschirmrand war) dann weiter runter sickert !

Leider funzt der Code nicht ! missbilligen
Wie muss ich den Code verändern ?
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Gremlin



Anmeldungsdatum: 12.12.2004
Beiträge: 142
Wohnort: Heinsberg

BeitragVerfasst am: 19.12.2004, 15:29    Titel: Antworten mit Zitat

Zu allererst solltest du x beibehalten und y verändern, denn so würde der Tropfen einmal 20 Pixel nach rechts wandern.

Code:
SCREEN 12

RANDOMIZE TIMER

x = INT(RND * 450) + 1            'Variable fü?r x Achse
y = INT(RND * 30) + 1             'Variable f?ür y Achse
r = INT(RND * 50) + 1             'Variable f?ür den Radius

DO
  CLS                             ' Jaja, nicht sauber
  CIRCLE (x, y), r, 1

  y = y + 20

  start! = TIMER
  DO
    IF INKEY$ <> "" THEN END      'Damit man auch wieder beenden kann.
  LOOP UNTIL TIMER > start! + .1  'Pause zwischen jedem Schritt

LOOP UNTIL y > 480 + r            'Damit man den Tropfen auch nicht mehr sieht
RUN


Hoffe mal, das entspricht deinen Erwartungen?
_________________
Tja, hier konnte ihre Werbung stehen.
Pech gehabt. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 19.12.2004, 15:47    Titel: Antworten mit Zitat

Gremlin hat Folgendes geschrieben:
Zu allererst solltest du x beibehalten und y verändern, denn so würde der Tropfen einmal 20 Pixel nach rechts wandern.

Code:
SCREEN 12

RANDOMIZE TIMER

x = INT(RND * 450) + 1            'Variable fü?r x Achse
y = INT(RND * 30) + 1             'Variable f?ür y Achse
r = INT(RND * 50) + 1             'Variable f?ür den Radius

DO
  CLS                             ' Jaja, nicht sauber
  CIRCLE (x, y), r, 1

  y = y + 20

  start! = TIMER
  DO
    IF INKEY$ <> "" THEN END      'Damit man auch wieder beenden kann.
  LOOP UNTIL TIMER > start! + .1  'Pause zwischen jedem Schritt

LOOP UNTIL y > 480 + r            'Damit man den Tropfen auch nicht mehr sieht
RUN


Hoffe mal, das entspricht deinen Erwartungen?


Ja is ok so DANKE !

Kann man auch einstellen das wen der Circle (<- der Tropfen zwinkern ) auf eine Gezeichnete Linie (LINE) trifft das dann auf dem bildschirm etwas "geprinted" wird ?

PS: Ja hab x mit y verwechselt sry
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Gremlin



Anmeldungsdatum: 12.12.2004
Beiträge: 142
Wohnort: Heinsberg

BeitragVerfasst am: 19.12.2004, 19:21    Titel: Antworten mit Zitat

Im simpelsten Fall:
Code:
LINE (0, 400) - (640, 400)
IF x + r > 400 THEN PRINT "Treffer."


Aber wenn du das einfach in den Code oben einbaust, dann gibts das Problem, dass du deine Nachricht gar nicht lesen kannst. neutral
_________________
Tja, hier konnte ihre Werbung stehen.
Pech gehabt. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Bernd



Anmeldungsdatum: 14.09.2004
Beiträge: 498
Wohnort: Kulmbach

BeitragVerfasst am: 20.12.2004, 14:58    Titel: Antworten mit Zitat

alos am besten mit "locate" arbeiten, dann müsste die Sache funktionieren...

im QB Monster FAQ stehen da unter Kolisionskontrollen oder so auch noch ein paar sehr interessante Sachen.

Bernd
_________________
Neue Homepage: http://www.glubb.rockt.de

UND

Der Wahnsinn hat seine eigene Homepage: http://pulmollwand.rulz.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 21.12.2004, 12:35    Titel: Regeneffekt Antworten mit Zitat

Hallo !

Das mit der Linie und dem Printen verstehe ich noch nicht so ganz, aber zu Tropfen mit CIRCLE hab' ich hier mal was gemacht:

http://www.skilltronics.de/runterlader/tropfen.bas

Gruss
Skilltronic
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz