Mini-Player
Übersicht

TidusBetreff: Mini-Player |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab zu Weihnachten mit BB(3D) angefangen, jetzt hab ich aber schon gleich am anfang ein prob bei folgendem prog
Code: [AUSKLAPPEN] Graphics 640, 480, 16, 3 SetBuffer BackBuffer() M = 1 ;Für das Abspielen des sounds unten sonst spielt ich ihn in der Schleife ja hundertmal ab Pause = 1 ;Für die Pause; 1 = Pause; 0 = keine Pause Color 0, 255, 0 Text 10, 10, "LOADING..." Maus = LoadImage("mauszeiger.bmp") Schiffe = LoadAnimImage("enemy1-ship.bmp", 16, 16, 0, 71) Steuerung = LoadAnimImage("VCRControls_24a.bmp", 24, 24, 0, 23) hintergrund = LoadImage("simplestars.bmp") schwarz = LoadImage("Schwarz.bmp") Bild2 = LoadAnimImage("player-ship.bmp", 80, 80, 0, 71) Musik1 = LoadSound("Milla Jovovich - Going Down.mp3") Musik2 = LoadSound("Sacrifice 1.mp3") ScaleImage Bild2, 1.35, 1.35 ScaleImage Schiffe, 3, 3 ScaleImage hintergrund, 7, 5 Bildchen = Schiffe ;Für 1 Bilderreihe und 2te Musi = Musik1 ;Für die 2 Musiken Repeat x = MouseX() y = MouseY() Cls DrawImage Maus, x, y DrawImage hintergrund, 0, 0 DrawImage Steuerung, 150, 270, 6 DrawImage Steuerung, 175, 270, 8 DrawImage Steuerung, 202, 270, 0 DrawImage Steuerung, 229, 270, 14 Flip .Programm If GetMouse() = 1 And ((x > 150 And x < 174) And (y > 270 And y < 294)) Or (KeyHit(57) And Pause = 1) Then ;Play Pause = 0 For bild = 0 To 67 ;Es sind 70 Frames aber das Random (-3) hab ich ja auch noch x = MouseX() y = MouseY() Cls DrawImage Maus, x, y DrawImage hintergrund, 0, 0 ;Pause If GetMouse() = 1 And ((x > 150 And x < 174) And (y > 270 And y < 294)) And Pause = 0 Or KeyHit(57) And Pause = 0 Then M = 1 Pause = 1 Pausen_Bild = bild PauseChannel(Kanal) EndIf ;Pause Ende ; If GetMouse() = 1 And ((x > 150 And x < 174) And (y > 270 And y < 294)) And Pause = 1 Or KeyHit(57) And Pause = 1 Then ; M = 0 ; Pause = 0 ; ResumeChannel(Kanal) ; EndIf ;Stop If GetMouse() = 1 And ((x > 175 And x < 199) And (y > 270 And y < 294)) Or KeyHit(28) Then Pause = 1 ; bild = 0 ; StopChannel(Kanal) ; M = 1 ; Gosub Programm ;M1 = 1 damit ich ihn EndIf ;nachher wieder abspielen kann ;1 Kapitel If GetMouse() = 1 And ((x > 202 And x < 226) And (y > 270 And y < 294)) Or KeyHit(203) Then StopChannel(Kanal) M = 1 Musi = Musik1 bild = 0 Bildchen = Schiffe EndIf ;2 Kapitel If GetMouse() = 1 And ((x > 229 And x < 253) And (y > 270 And y < 294)) Or KeyHit(205) Then ; StopChannel(Kanal) M = 1 Musi = Musik2 bild = 0 Bildchen = Bild2 EndIf If M = 1 And Pause = 0 Then ;Damit die Musi nicht jedes Kanal = PlaySound(Musi) ;Mal neu in der Schleife M = 0 ;abgespielt wird... EndIf If M = 1 And Pause = 1 And GetMouse() = 1 And ((x > 150 And x < 174) And (y > 270 And y < 294)) Or (KeyHit(57) And Pause = 1) ResumeChannel(Kanal) ;Wenn die Play taste gedrückt wird und es pause is dann... EndIf DrawImage Steuerung, 150, 270, 6 ;Das ControlPad... DrawImage Steuerung, 175, 270, 8 ;(während dem ablauf solls ja auch sichtbar sein) DrawImage Steuerung, 202, 270, 0 ; DrawImage Steuerung, 229, 270, 14 ; If Pause = 0 Then DrawImage Bildchen, 150, 150, bild+Rnd(0,3) ;ein paar schiffe schwirren If Bildchen = Schiffe Then ;weil das andere schiff zu groß is DrawImage Bildchen, 214, 150, bild+Rnd(0,3) ;sinnlos herum das random DrawImage Bildchen, 150, 214, bild+Rnd(0,3) ;is damit das ganze DrawImage Bildchen, 214, 214, bild+Rnd(0,3) ;verwackelt aussieht EndIf Else ;Wenn Pause... DrawImage Bildchen, 150, 150, Pausen_bild If Bildchen = Schiffe Then DrawImage Bildchen, 214, 150, Pausen_bild DrawImage Bildchen, 150, 214, Pausen_bild DrawImage Bildchen, 214, 214, Pausen_bild EndIf If KeyHit(57) Then Pause = 0 EndIf Flip If bild = 67 Then bild = 0 ;Damit die Bilder endlos schwirren Next EndIf Until GetMouse() = 2 Or KeyHit(1) Ich hoff das ist jetzt schön formatiert hier, So nun prob nummer 1: (Schiffe sind Bilder von Schiffen die immer leicht gedreht sind, bild2 is das selbe nur größer, schwarz, damit wollt ich eig. während dem abspielen einen hintergrund abdecken, und die Steuerung da hab ich ne Stop, Play, nächstes Kap... Taste) bis auf die playtaste funzt gar nix (abgesehen von der Keyboard steuerung) vorher hat mal die Stop taste funktioniert aber das geht jetzt auch nimmer... und unter dem Pause_Bild funzt Keyhit(200) ganz doll, aber Keyhit(57) ned und Getmouse sowieso ned.... 2. Prob ich komm in die Pause rein aber ich hab noch keine Algo fürs rauskommen...also eig. schon aber die haben nicht funktioniert... 3. Prob das mit dem Flip is n bisschen kompliziert wo muss ich denn das schwarz überall hinmalen damit hinter denn Schiffen alles Schwarz ist? ich hab so gut wie ALLES ausprobiert aber irgendwie hatte ich nie schwarz... hat das was mit der Transparent - farbe zu tun? die hab ich bei Robs Kurs nicht ganz abgepeilt glaub ich... ne kleine erklärung dazu wär ganz nett ![]() Na ja wie gesagt hab gestern mit BB angefangen und heute mit dem prog, und EIGENTLICH hätte ja einer meiner tausenden Varianten funzen müssen... tuts nur halt ned... man hat leider keinen dollen Debuggen servic sonst hätt ichs vielleicht ehh alleine geschafft, aber so Hoff ich stark auf euch ![]() Achja und wegen Tips wegen Programmierstil bin ich ganz offen, und alles was Speicher spart find ich super also immer her mit den Tips ![]() DANKE schonmal fürs checken ![]() mfg Tidus |
||
![]() |
Ralff |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich hab mir hetzt nciht den ganzeb code durchgelesen...
aber ich hab gesehen dass du gosub und goto(ich weiß gar nicht richtig wie das heißt...) benutzt, das würde ich nicht machen... führt nur zu "spaghetticode". das wird dann sehr unübersichtlich und später blickst du selbst nicht mehr durch... |
||
Zieht euch das rein...:
http://myspace.com/ndyderchef Hammertracks, kostenlos... N-Dy rulez |
Tidus |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du meinst Gosub? ne Goto is verdammt als schlecht zu gelten (trotzdem gibts den Befehl in fast jeder Programmiersprache). Gosub dagegen nicht, obwohls ein und das selbe ist, abgesehen davon das man mit Return noch n bisschen mehr Macht besitzt... aber auch egal ich benutz des ja nur um mit Play wieder rein zu kommen...
mfg |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der Hauptunterschied von Goto <-> Gosub ist das Goto nach dem block ÜBERALL hin springen kann, Gosub aber genau dahin zurück muss wo es hergekommen ist (also zum Gosub das es aufgerufen hat).
Insofern ist Gosub nicht böse, es sorgt nur dafür das Code der an 50 verschiedenen Orten gebraucht wird nur 1x geschrieben wird (der Compiler kopierts dann rum). Daneben ist natürlich der Vorteil das der Variablenraum von Gosub der gleiche ist wie vom normalen Code wo er ausgeführt wird, wohingegen eine Funktion nur die globalen Variablen kennt sowie die die man rein gibt, was auch nicht immer erwünscht ist (weil man zuviel übergeben müsste zb womit die funktion nicht umbedingt schneller wird) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Tidus |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, ich weiß schon damit meinte ich ja Return... aber ich will mich da jetzt nicht groß mit Goto und Gosub herumschlagen ich hab Gosub einmal in meinem Programm verwendet und in diesem Miniprogramm kann mir keiner sagen das ein Gosub zu nem Spagetthicode wird...
hat scho einer einen Lösungsansatz zu meinem Prob? mfg |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Schwarzes Bild für den Hintergrund sollte nicht nötig sein. Wenn Du nix einzeichnest und deine ql:clscolor nicht veränderst wird eh alles schwarz eingezeichnet.
ql:maskimage sollte selbsterklärend sein (ich kann dir die Onlinehilfe nur ans Herz legen) - die Farbe die Du als Transparenzfarbe festlegst wird nicht eingezeichnet. Wenn Du also deinen Raumschiffbildchen einen pinkfarbenen (255,0,255) Hintergrund verpasst sollten sie nach einem enstprechenden Maskimage ohne das Pink gezeichnet werden. Was deine Bedingungen für die einzelnen Tasten angeht, ohne sie genau auseinander klamüsert zu haben, benutze bitte Klammern, und zwar reichlich davon. And und Or sind gleichwertige Operatoren, es kann also sein dass dinge die du gern alternativ erlegigen möchtest (per or) nicht funktionieren weil daran mehrere and-Bedingungen geknüpft werden. Mit den Klammern kannst du steuern wie die Ausdrücke ausgewertet werden: (a and b) or c ist was anderes als a and (b or c). |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Tidus |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi Blade,
Ich mein prog jetzt schon etwas verändert (habs leider am Laptop) und da hab ich wenn ich die zweite bedingung auf if mousehit(1) >= 1 gesetzt habe funktioniert... irgenwie komisch... Mit den Klammer... omg so bannal...Thx ich glaub jetzt weiß ich wos fehlt... wobei bei dem code hier eh einiges falsch is da hab ich die maus noch hinter der steuerung... Wegen den Schwarz, da will ich das hinter denn schiffen und alles drumherum schwarz wird ... außer das was dann noch weiter weg is soll wieder hintergrund sein, Maskimage hilft mir also hier nicht wirklich, mit den Grafikbefehlen komm ich aber trotz Onlinehilfe noch nicht so ganz klar, darum wollt ich ja so nen kleinen Player programmieren... naja THX nochmal und ciao Tidus |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich fürchtevich versteh immer noch nicht was Du mit dem Schwarz meinst. Kannst du ein bild malen wie du es Dir vorstellst ? dann kann man vielleicht helfen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Tidus |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, sry das ich so lang nicht geantwortet hab.
Und zwar mein ich das so _________ | | | --- --- | | |+| . |*| | | --- --- | | | --------------| so und zwar is das was außerhalb von dem großen eingekastelten ding is alles andere, also hintergrund und die steurung etc... in dem ding sind die Bilder das sollen diese zwei rechtecke darstellen. und der Punkt is noch was vom hintergrund und das will ich ned haben... sry ich weiß n image wär besser, aber da ich die daten aufn Laptop hab, war das so um einiges schneller... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group