| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	
	
	
		| Autor | 
		Nachricht | 
	
	
		psygate
 
 
  Anmeldungsdatum: 05.04.2005 Beiträge: 304 Wohnort: Wien und der Computer
  | 
		
			
				 Verfasst am: 28.03.2006, 13:38    Titel: HILFE! Meine Partikel prallen nicht und erscheinen nicht | 
				     | 
			 
			
				
  | 
			 
			
				Also... Kann sich mal bitte einer meinen code
 
unter http://freebasic.de/fbnp/index.php?view=291
 
anschauen und mir sagen was da schief läuft?? | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		MisterD
 
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
  | 
		
			
				 Verfasst am: 28.03.2006, 14:26    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				kleiner fehler..
 
 
zwei mal
 
WITH dots(q)
 
statt
 
WITH dots(num)
 
schreiben, dann bewegts sich
 
 
aber deine kollision hat noch n paar probleme weil die teile sich nicht zwangsläufig nur um einen pixel verschieben und wenn sie einmal aus dem bildschirm raus sind kommen sie nich wieder rein   _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
 
Edsger W. Dijkstra | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Tomtitom
 
  
  Anmeldungsdatum: 20.09.2004 Beiträge: 308
 
  | 
		
			
				 Verfasst am: 28.03.2006, 14:28    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				und sehe tut man nix, weil die im gelockten Screen psetest
 
 
Besser du arbeitest anstatt mit int(.x) = xmax ... mit .x > xmax ... | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		MisterD
 
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
  | 
		
			
				 Verfasst am: 28.03.2006, 14:56    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				er hat doch screenunlock drin   man sieht was sobald man statt num q schreibt.. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
 
Edsger W. Dijkstra | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Tomtitom
 
  
  Anmeldungsdatum: 20.09.2004 Beiträge: 308
 
  | 
		
			
				 Verfasst am: 28.03.2006, 16:53    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				| huch, na das finde ich jetzt aber komisch, er hat zwar ein unlock mit drin, aber direkt danach wird doch wieder gelockt. Funktioniert Lock anders, als ich gerade denke? Ich dachte, dass alles was gemalt wird, wenn der Screen gelockt ist, nicht erscheint. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		psygate
 
 
  Anmeldungsdatum: 05.04.2005 Beiträge: 304 Wohnort: Wien und der Computer
  | 
		
			
				 Verfasst am: 28.03.2006, 17:00    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				screenlock sperrt solange die screen bis screenunlock benutzt wird.
 
 
Habs mal geupt.
 
 
die kleinen racker verschwinden immer noch!   HILFE   
 
 
http://freebasic.de/fbnp/index.php?view=294
  Zuletzt bearbeitet von psygate am 28.03.2006, 17:05, insgesamt einmal bearbeitet | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Michael Frey
 
  
  Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
  | 
		
			
				 Verfasst am: 28.03.2006, 17:04    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Wenn der Screen gelockt ist, werden die Zeichnung duchgefürht aber nicht angezeigt. (Wie auf eine Zweite unsichtbare Bildschirmseite)
 
Durch Screenunlock wird dann diese Zweite Seite sozusagen auf die erste Kopiert und damit Sichbar.
 
 
 	  | Zitat: | 	 		  | huch, na das finde ich jetzt aber komisch, er hat zwar ein unlock mit drin, aber direkt danach wird doch wieder gelockt. | 	  
 
Das ist Sinnvoll und auch üblich.
 
So sieht sieht der Benutzer den Bildaufbau nicht und der Programmierer kann ganz Normal mit PSET Line Circle etc. und vorrallem CLS Arbeiten. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Tomtitom
 
  
  Anmeldungsdatum: 20.09.2004 Beiträge: 308
 
  | 
		
			
				 Verfasst am: 28.03.2006, 20:00    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				
 
 
Sag mal, was soll das eigentlich für ein komisches Prallverhalten sein? Sollen die immer im 45° Winkel abprallen? normalerweise ist doch Einfallswinkel = Ausfallswinkel.
 
 
Ich schlage vor, du machst das nochmal richtig, dann löst sich das Problem von selbst. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		MisterD
 
  
  Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
  | 
		
			
				 Verfasst am: 28.03.2006, 21:02    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				könnte beides sein.. entweder der springt nach außen aus dem bildschirm oder er "überspringt" die bildschirmkante und fliegt dann einfach weiter weil dein prog da nicht mehr kontrolliert. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
 
Edsger W. Dijkstra | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		psygate
 
 
  Anmeldungsdatum: 05.04.2005 Beiträge: 304 Wohnort: Wien und der Computer
  | 
		
			
				 Verfasst am: 29.03.2006, 21:03    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				@Tomtitom:
 
 
uiuiuiui!
 
 
Das ist ein grober fehler meinerseits!   Das Prog sollte ich echt überarbeiten    | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		Tomtitom
 
  
  Anmeldungsdatum: 20.09.2004 Beiträge: 308
 
  | 
		
			
				 Verfasst am: 29.03.2006, 22:18    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				schön, wenn meine Hilfe gebührlich geehrt wird...
 
 
Wenn du es nämlich so machst, dürfte das Problem, dass die Partikel durch falsche Winkel 'rausfliegen' beseitigt sein.
 
 
Dazu brauchst du nicht das ganze Prog überarbeiten, das wäre ja unzumutbar. | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		d.j.peters Gast
 
 
 
 
 
  | 
		
			
				 Verfasst am: 29.03.2006, 22:39    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Nur als Anregung gedacht kann Deinen code gerade nicht lesen. (NOPASTE geht gerade nich bekomme timeout!)
 
 
Grüsse Joshy
 
 	  | Code: | 	 		  'ball3.bas
 
OPTION EXPLICIT
 
 
type BALL
 
  as double  b,a
 
  as single  s,v,x,y,xxx,yyy
 
  as integer r,c
 
end type
 
 
#define max_balls 100
 
#define scr_w 800
 
#define scr_h 640
 
 
const G         as double = 98.1
 
const Gd2       as double = G   * 0.5
 
const PI        as double = 4.0 * atn(1.0)
 
const PI2       as double = PI  * 2.0
 
const PId2      as double = PI  * 0.5
 
const OneDegree as double = PI  / 180.0
 
 
dim shared balls(max_balls-1) as BALL
 
 
sub initball(byval index as integer)
 
  with balls(index)
 
    .b=timer
 
    .r=5+rnd*5
 
    .c=1 +(index and 7)
 
    .x=0:.y=0
 
    .xxx= scr_w\2
 
    .yyy= scr_h\2
 
    .v=150 + rnd * 50
 
    .a=PId2 + OneDegree * (90*rnd-45)
 
  end with
 
end sub
 
 
sub updateballs()
 
  dim as double t,v0t,now
 
  dim as integer index
 
  now=timer()
 
  for index=0 to max_balls-1
 
    if balls(index).v<=0 then 
 
      initball index
 
    else
 
      with balls(index)
 
        t =(now - .b)
 
        v0t=.v*t
 
        .x=.xxx + v0t * cos(.a)
 
        .y=.yyy + v0t * sin(.a)  - (gd2*(t*t))
 
 
        if (.y<.r) then 
 
          .y=.r:.a=PI2-.a :.v-=1
 
          .xxx=.x
 
          .yyy=.y
 
          .b=now
 
        end if
 
 
        if (.x<.r) then
 
          .x=.r:.v-=1
 
          .a=onedegree*359
 
          .xxx=.x
 
          .yyy=.y
 
          .b=now
 
        elseif (.x+.r)>=(scr_w-1) then
 
          .x=(scr_w-1)-.r:.v-=1
 
          .a=PI
 
          .xxx=.x
 
          .yyy=.y
 
          .b=now
 
        endif
 
 
      end with
 
    end if
 
  next
 
end sub
 
 
sub drawballs()
 
  dim as integer index
 
  for index=0 to max_balls-1
 
    with balls(index)
 
      circle (.x,scr_h - .y),.r,.c,,,,F
 
    end with
 
  next
 
  line ((scr_w\2-10),(scr_h\2-10))-step(20,20),1,bf
 
end sub
 
 
dim as integer i
 
dim as double s
 
 
screenres scr_w,scr_h
 
 
while len(inkey)=0
 
  screenlock:cls
 
  updateballs
 
  drawballs
 
  screenunlock
 
wend | 	 
  | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		psygate
 
 
  Anmeldungsdatum: 05.04.2005 Beiträge: 304 Wohnort: Wien und der Computer
  | 
		
			
				 Verfasst am: 30.03.2006, 12:27    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				@Joshy : und wieder einmal das thema verfehlt.
 
Leider kann ich mit dem code nichts anfangen, da er etwas ganz anderes macht als meiner. Erst lesen, dann dnken, dann posten.
 
 
Aber trotzdem:danke | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		 |