Image kollidiert falsch

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Raiden93

Betreff: Image kollidiert falsch

BeitragDo, März 25, 2010 12:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich habe das Problem das wenn mein Ball mit dem Image kollidiert das er manchmal nach unten oder nach oben abprallt aber er soll nur nach oben abprallen.Ich denke mal es liegt an dem 360°winkel nur weiß ich nicht wirklich wie ich ihn setzten sollte Hilfe währe echt Nett.

Code: [AUSKLAPPEN]

;Brick1 kollidiert
If ImagesCollide(Brick1,delbrick1y,delbrick1x,0,kugel,xkugel,ykugel,0) Then
  winkel=360-winkel
  abweichung=2*(xsp1-xkugel)
  winkel=winkel+abweichung
  bricktimer1 = 1 ; <-----------
  ChannelId=PlaySound(SoundId5)
  delbrick1x = -50
  delbrick1y = -50 
EndIf

Xeres

Moderator

BeitragDo, März 25, 2010 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
0° = Rechts
90° = Oben
180° = Links
BlitzBasic: [AUSKLAPPEN]
winkel = Rand(30, 150)
Gibt einen 120° Kegel nach Oben.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Raiden93

BeitragDo, März 25, 2010 14:54
Antworten mit Zitat
Benutzer-Profile anzeigen
und wofür steht die 30 ich weiß das es 30 - 150 heißen soll oder so aber woher kommt die 30 her?

Chrissa

BeitragDo, März 25, 2010 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein. Das in der Klamer von Rnd sind die Zahlen zwischen denen es eine zufällige aussucht. Also "Grenzen" wenn du es so nennen willst.
in dem Beispiel gehen die Zahlen von 30 bis 150. Also 30° bis 150° Abprallwinkel.

Raiden93

BeitragDo, März 25, 2010 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
achso danke das hat mir mal wieder sehr geholfen habe leider nur das Problem das die kollision sehr rum bugt

bin hat gerade am gucken wieso:
Code: [AUSKLAPPEN]

;Brick1 kollision
If ImagesCollide(Brick1,delbrick1y,delbrick1x,0,kugel,xkugel,ykugel,0) Then
  winkel=90-winkel
  abweichung=2*(xsp1-xkugel)
  winkel=winkel+abweichung
  bricktimer1 = 1 ; <-----------
  ChannelId=PlaySound(SoundId5)
  delbrick1x = -50
  delbrick1y = -50 
EndIf

TimBo

BeitragDo, März 25, 2010 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
was funktioniert denn genau nicht so ?

ImageCollide ist von Haus aus sehr verbuggt.
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Raiden93

BeitragDo, März 25, 2010 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe ein ball und möchte wenn die mauer getroffen wird zerstört wird und der ball zurück prallt nur geht der ball manchmal auch durch und gibt so ein bug sound ab also als würde mann den sound 1000mal gleichzeitig starten

Chrissa

BeitragDo, März 25, 2010 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
gib mal ein bisschen mehr Code. Muss mir dein Spiel mal näher anschaun.

Aber mach mal statt

Code: [AUSKLAPPEN]
winkel=90-winkel


wie Xeres:
Zitat:
winkel=Rnd(30,150)


Vielleicht liegt es daran...

jokerman29

BeitragDo, März 25, 2010 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
also wie schon gesagt ist imagecollide sehr verbugt, nimm lieber rechtsoverlap oder seh dir das an:
https://www.blitzforum.de/foru...hp?t=27025
mfg
jokerman29
WhY sO sErIoUs? LeT´s PuT a SmIlE oN tHaT fAcE!

Rechtschreibfehler sind special-effekts meiner Tastatur Wink

Raiden93

BeitragDo, März 25, 2010 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
mein code hat 575 zeilen und jetzt alles umzuschreiben währe ein wenig mühsam o0

TimBo

BeitragDo, März 25, 2010 15:18
Antworten mit Zitat
Benutzer-Profile anzeigen
suche doch einfach den Code ab und mache anstatt imagescollide rectsoverlap.

wenn du da 25 mal was ändern musst wäre es doch machbar = )

andererseits ... wer hat darauf schon bock ^^
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Xeres

Moderator

BeitragDo, März 25, 2010 15:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man 25 mal ein und dieselbe Zeile ändern muss, gibt es generell Raum für Optimierungen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Chrissa

BeitragDo, März 25, 2010 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
ach noch was: du hast ja mehrere Barrierenteile oder? Hast du da für jedes Teil eigene variablen? Wenn ja dann mach doch einfach einen Tpe für alle. trotzdem kannst du dann aber noch einzelne leicht rauslöschen.

PS: EInfach mal den ganzen Code reinstellen. Alles markieren und hier her kopieren. Das würde enorm helfen...

Thunder

BeitragDo, März 25, 2010 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht ist das ein hilfreicher Tipp Raiden93: Wenn du merkst, dass du einen mehrzeiligen Code mehrmals brauchst, solltest du Funktionen ( Function ) verwenden. Damit machst du den Code nicht nur leichter wartbar (du musst immer nur die Funktion ändern und nicht mehrere Stellen im Code), sondern auch kürzer.


mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Raiden93

BeitragDo, März 25, 2010 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ja ich habe für jeden block eine eigene variable weil ich das mit den types nicht verstanden habe wofür sie da sind und wie mann sie gebraucht.Ich werde jetzt mal die sachen ändern und gucken wie es ist

jokerman29

BeitragDo, März 25, 2010 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
zu deinem type problem, hier gibts 2 gute tutorials die mir sehr geholfen haben!
https://www.blitzforum.de/foru...ight=types
http://de.wikibooks.org/wiki/B...rial#Types
WhY sO sErIoUs? LeT´s PuT a SmIlE oN tHaT fAcE!

Rechtschreibfehler sind special-effekts meiner Tastatur Wink

Raiden93

BeitragDo, März 25, 2010 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
habe es mit ImagesCollide getauscht aber dan kollidiert er nicht mehr mit dem ball

Chrissa

BeitragDo, März 25, 2010 15:45
Antworten mit Zitat
Benutzer-Profile anzeigen
was hast du mit ImagesCollide getauscht? Diese Routine, die jokerman verlinkt hat?! Wenn ja, dann musst die erst noch komplett anpassen...

Raiden93

BeitragDo, März 25, 2010 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
habe imagecoll.... mit rectsoverlap getauscht

jokerman29

BeitragDo, März 25, 2010 16:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Raiden93 hat Folgendes geschrieben:
habe imagecoll.... mit rectsoverlap getauscht

ein bisschen code würde uns gewaltig helfen, denn wie sollen wir denn deinen fehler sehen??
du darfst nicht einfach nur die befehle vertauschen, denn diese haben verschiedene parameter!
die parameter von imagecollide sind:
bild1, x1, y1, frame1, bild2, x2, y2, frame2
die parameter von rectsoverlap sind hingegen:
X1, Y1, width1, heigth1, X2, Y2, width2, heigth2

schau dir in der hilfe mal den befehl rectsoverlap an, dann wird dir das klarer Wink
mfg
jokerman29
WhY sO sErIoUs? LeT´s PuT a SmIlE oN tHaT fAcE!

Rechtschreibfehler sind special-effekts meiner Tastatur Wink

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group