verschiedene bilder geladen,trotzdem kommen gleiche

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

verschiedene bilder geladen,trotzdem kommen gleiche

Beitrag von captain third »

ich habe 2 verschiedene bilder geladen,für maus und einfach so ein bild um zu testen wie das funktioniert mit SpriteCollision()

und obwohl ich 2 verschiedene bilder geladen habe,kommt trotzdem nur eins,das ist das gleiche wie bei der maus...hier ist der code

Code: Alles auswählen

InitSprite()
;-defi loading 
OpenScreen(800,600,16,"Test")
FontID3 = LoadFont(3, "Digital", 10)
StartDrawing(ScreenOutput()) 
FrontColor(20,255,20) 
Locate(300,300) 
BackColor(0,0,0)
DrawText("I")
StopDrawing()
FlipBuffers()
InitKeyboard()
ClearScreen(0,0,0)
StartDrawing(ScreenOutput()) 
FrontColor(20,255,20) 
Locate(300,300) 
BackColor(0,0,0)
DrawText("II")
StopDrawing()
FlipBuffers()
InitMouse()
ClearScreen(0,0,0)
StartDrawing(ScreenOutput()) 
FrontColor(20,255,20) 
Locate(300,300) 
BackColor(0,0,0)
DrawText("III")
StopDrawing()
FlipBuffers()
LoadSprite(Bild1,"C:\UniMatrix\Welcome.bmp")
ClearScreen(0,0,0)
StartDrawing(ScreenOutput())
FrontColor(20,255,20)
Locate(300,300)
BackColor(0,0,0)
DrawText("IIII")
StopDrawing()
FlipBuffers()
LoadSprite(cursor,"C:\Eigene Dateien\Eigene Bilder\ico\CircuitPhantom.ico.bmp")
ClearScreen(0,0,0)
StartDrawing(ScreenOutput()) 
FrontColor(20,255,20) 
Locate(300,300) 
BackColor(0,0,0)
DrawText("IIIII")
Locate(300,320)
DrawText("Complete")
Locate(300,340)
DrawText("Auflösung : 1024*768 16 bitmodus")
StopDrawing()
TransparentSpriteColor(cursor,255,0,255)
FlipBuffers()
Delay(1000)
MouseLocate(300,300)

;-Hauptschleife 1
;   
Repeat 
ClearScreen(0,0,0)
ExamineKeyboard()
ExamineMouse()
DisplaySprite(cursor,MouseX(),MouseY())
DisplaySprite(Bild1,100,100)
If MouseButton(1)
;-überüprüfung ob ein bild gedrückt worden ist was gedrückt wurden ist
 If SpriteCollision(Bild1, 100, 100, cursor, MouseX(), MouseY())
  StartDrawing(ScreenOutput())
  FrontColor(0,128,0)
  BackColor(0,0,0)
  Locate(300,300)
  DrawText("Bild wurde gedrückt")
  StopDrawing()
 Else
  StartDrawing(ScreenOutput())
  FrontColor(0,128,0)
  BackColor(0,0,0)
  Locate(300,300)
  DrawText("Bild wurde nicht gedrückt")
  StopDrawing()   
 EndIf
EndIf 
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
CloseScreen()
End
warum ist das so?
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Wahrscheinlich weil die Variabeln 'cursor' u. 'Bild1' den gleichen Wert (=0) haben.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
crossroads
Beiträge: 244
Registriert: 29.08.2004 05:41
Wohnort: Rhine Main Area

Re: verschiedene bilder geladen,trotzdem kommen gleiche

Beitrag von crossroads »

captain third hat geschrieben:ich habe 2 verschiedene bilder geladen,für maus und einfach so ein bild um zu testen wie das funktioniert mit SpriteCollision()

und obwohl ich 2 verschiedene bilder geladen habe,kommt trotzdem nur eins,das ist das gleiche wie bei der maus ...

... warum ist das so?

Code: Alles auswählen

LoadSprite(Bild1,"C:\UniMatrix\Welcome.bmp")
Der Variablen "Bild1" wurde kein Wert zugewiesen und hat somit defaultmäßig den Wert null.

Code: Alles auswählen

LoadSprite(cursor,"C:\Eigene Dateien\Eigene Bilder\ico\CircuitPhantom.ico.bmp")
Mit der Variablen "cursor" verhält es sich genauso.

Um den Code wenigstens mal zum Laufen zu bekommen, das hier am Anfang hinzufügen:

Code: Alles auswählen

Global Bild1, cursor
Bild1  = 0
cursor = 1
Man soll die Tür aufmachen, bevor man durchgeht ...
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Nimm am Besten Konstanten dafür, spart Arbeitsspeicher, CPU-Zeit und Nerven

Code: Alles auswählen

Enumeration
  #Bild1
  #Cursor
EndEnumeration
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

achso...mmh klar....hab none frage :mrgreen:

un zwa im som tutorial steht das wenn man eine grafik hat,ist die immer rechteckig,und damit man den hintergrund von der grafik nicht sieht benutzt man TransparentSpriteColor(#sprite,255,0,255)(schweinchenrosa)
den hintergrund von meiner grafik hab ich auch 255,0,255 gemacht,dennoch sehe ich den hintergrund der grafik...muss dieses transparentSpriteColor() in der repeatschleife stehn? oder dann man es schon früher aufrufen??? oder gibtsn andren fehler?
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag von Leo »

Das bild muss jetz mit DisplayTransparentSprite anstatt DisplaySprite angezeigt werden ;)
Benutzeravatar
crossroads
Beiträge: 244
Registriert: 29.08.2004 05:41
Wohnort: Rhine Main Area

Beitrag von crossroads »

captain third hat geschrieben:achso...mmh klar....hab none frage :mrgreen:

un zwa im som tutorial steht das wenn man eine grafik hat,ist die immer rechteckig,und damit man den hintergrund von der grafik nicht sieht benutzt man TransparentSpriteColor(#sprite,255,0,255)(schweinchenrosa)
den hintergrund von meiner grafik hab ich auch 255,0,255 gemacht,dennoch sehe ich den hintergrund der grafik...muss dieses transparentSpriteColor() in der repeatschleife stehn? oder dann man es schon früher aufrufen??? oder gibtsn andren fehler?
Ist manchmal ganz hilfreich, einen Blick die PB-Hilfe zu werfen:
(Führt oft - bei so einfachen Dingen - zur schnelleren Problemlösung als ein Post hier im Forum :D )
Syntax

TransparentSpriteColor(#Sprite, Rot, Grün, Blau)
Beschreibung

Ändert die transparente Farbe des Sprites (wenn es mittels DisplayTransparentSprite() angezeigt wird).
Man soll die Tür aufmachen, bevor man durchgeht ...
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

sry,da habsch inna hilfe net nachjeguggt...danke :mrgreen:
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

Crossroads hat geschrieben:Ist manchmal ganz hilfreich, einen Blick die PB-Hilfe zu werfen:
(Führt oft - bei so einfachen Dingen - zur schnelleren Problemlösung als ein Post hier im Forum )
Na wenigstens bin ich nicht der einzige dem das auffällt /:->
Nix für ungut, aber Programmieren hat viel mit Selbstständigkeit zu tun - und daran scheints CaptainThird wohl imho irgendwie zu mangeln, denn sonst wäre die Zahl der vorhandenen Fragen höchstens halb so groß...

mir fällt da spontan nur das dazu ein:
RTFM

Die Reaktionen die man hier im Forum beobachten kann sind immer wieder witzig:
Andere Newbies werden angepflaumt, mit vor ironie triefenden Sätzen bedacht, es wird der bekannte kasten rechts oben und unser aller freund google zitiert, von freundlichkeit fehlt da meist jede spur, auch wenn es sich um zig tausendfach ausdiskutierte themen dreht - man kann sowas auch netter rüber bringen...
Allerdings sind die Fragen anderer Newbies meist nicht halb so sinnlos wie die, die CaptainThird zur genüge stellt (Fragen die einen 30 sekunden lang einen scharfen blick, einen blick in die hilfe, oder einfach nur ein wenig ruhe kosten sind imho sinnlos!) und dennoch habe ich hier noch nichts ähnliches wie bei anderen lesen können.
Ich will mich hier ja wirklich nicht aufspielen und zum moralapostel aufschwingen, aber entweder so oder so, entweder dumme Fragen kritisieren und sagen was man zuerst tun sollte bevor man hier postet, oder gleich komplett die klappe halten...

Ich will hier echt niemanden persönlich angreifen oder beleidigen, aber sowas geht mir einfach aufn zeiger.

Btw.: Sorry für das off-topic geschreibsel, aber das musste einfach mal sein.


Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

schon gut Raven,ich verstehs ja,ich gebs ja zu für die meisten fragen,müsst ich mich wirklich schämen.... :cry: AN ALLE DIE ICH GENERVT HABE,ES TUT MIR LEID :|
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Antworten