bild drehen = fehler =(

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Hunter99

Betreff: bild drehen = fehler =(

BeitragSo, Dez 19, 2004 23:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
ich hab da n kleines Problem
ich drücks mal mit bilder aus:




normal:
user posted image



drehung:
user posted image



wie krieg ich das hin, dass das schwarze viereck verschwindet

pls help ^^

[/img][/syntax]
 

noir

BeitragMo, Dez 20, 2004 0:04
Antworten mit Zitat
Benutzer-Profile anzeigen
dreh nur die figur und mach den hintergrund der figur transparent.

aber erst ma soll das 2d oder 3d werden?
 

David

BeitragMo, Dez 20, 2004 8:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Sieht nach 2D Grafik aus und kannst du mir mal sagen wie du das drehst???? Shocked
Hat die Grafik deiner Figur den Boden automatisch mit drin oder schneidest du bei jeder Drehung der Figur den Boden gerade mit aus?!?

Mach, wie gesagt, den Hintergrund deiner "Figurgrafik" transparent (bzw in einer bestimmten Farbe und dann mit MaskImage() transparent)...

grüße

Hummelpups

BeitragMo, Dez 20, 2004 8:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Das is doch echt mnal nich schwer Rolling Eyes

Mache ne Map, nimm NUR die figur und drehe sie.
OHNE die Texture, was ist wenn du einen anderen Bode sagen
wir Sand betrittst? Und was ist wenn du pixel+1 läufst?
dann sieht man doch wie sich die Textur auch noch mit
dem Player bewegt und dreht.

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

wunderkind

BeitragMo, Dez 20, 2004 10:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem muss ein anderes sein. Denn wenn ihr euch den Untergrund einmal genau anseht, dann wird er gar nicht mitgedreht! Bild eins und zwei vergleichen.

@Hunter99
Poste doch einfach mal den Codeabschnitt, der für die Darstellung verantwortlich ist.
 

Hunter99

BeitragMo, Dez 20, 2004 11:35
Antworten mit Zitat
Benutzer-Profile anzeigen
ok...
also die figur dreht sich und nicht das map
und die figur ist transparent
und es ist 2d ^^
also hier n teil vom code:

BlitzBasic: [AUSKLAPPEN]


FrontBuffer

land1 = LoadImage(\"Dateien\testland.bmp\")

TileBlock land1






If player=1
Dim Auto(359)

TFormFilter 0



For winkel = 0 To 359

Auto(winkel)=LoadImage(\"Dateien\kl.bmp\")

RotateImage auto(winkel),winkel

MaskImage Auto(winkel),255,255,255

MidHandle Auto(winkel)

Next
EndIf



If player=2
Dim Auto(359)

TFormFilter 0



For winkel = 0 To 359

Auto(winkel)=LoadImage(\"Dateien\za.bmp\")

RotateImage auto(winkel),winkel

MaskImage Auto(winkel),255,255,255

MidHandle Auto(winkel)

Next
EndIf



If player=3
Dim Auto(359)

TFormFilter 0



For winkel = 0 To 359

Auto(winkel)=LoadImage(\"Dateien\ch.bmp\")

RotateImage auto(winkel),winkel

MaskImage Auto(winkel),255,255,255

MidHandle Auto(winkel)

Next
EndIf






Global x#,y#

If player=1 Or player=2
geschwindigkeit#=2
End If


If player=3
geschwindigkeit#=3
End If








While Not KeyHit(1)
DrawImage land1, 0, 0



If KeyDown(203) Then winkel= winkel -1 ; Winkel wird verkleinert

If KeyDown(205) Then winkel= winkel +1 ; Winkel wird erhöht

If winkel > 359 Then winkel = 0

If winkel < 0 Then winkel = 359



If KeyDown(200) Then

x = x + Sin(winkel)*geschwindigkeit

y = y - Cos(winkel)*geschwindigkeit

EndIf



DrawImage auto(winkel),x,y




Flip

Wend
Goto start
End



auto = der spieler

Hummelpups

BeitragMo, Dez 20, 2004 12:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Sad omfg

aber naja, als erstes erstellst du eine String variable in der du den
Pfad speicherst z.B.

pfad$=""
select player
case 1
pfad$="gfx/player1.bmp"
case 2
pfad$="gfx/player2.bmp"
end select

Dimensionieren tust du auch nur einmal genauso wie der TFormFilter !!!!

dann lädst du das Bild VOR der schleife mit loadimage(pfad$)
und dann benutzt du in der FOR-NEXT Schleife nen Befehl
Copyimage.
Das dürfte deinen Code reichlich verkleinern. Dann uppst du mal
die Bilder die du lädst und stellst sie hier rein.

UND BENUTZE DEN BACKBUFFER Exclamation Exclamation

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Hubsi

BeitragMo, Dez 20, 2004 12:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast Du schon versucht das Maskimage vor RotateImage anzuwenden? Damit sollte es gehen, denke ich mal.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Hummelpups

BeitragMo, Dez 20, 2004 13:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich benutze bei meinem Spiel auch das Maskimage NACH dem Rotaten und
alles sieht wunderbrar aus

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus
 

Hunter99

BeitragMo, Dez 20, 2004 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
-GESCHÜTZT-

und hier die charackteren (ich zeig nur za.bmp.. also player = 2):
-GESCHÜTZT-

und das testland:

-GESCHÜTZT-
  • Zuletzt bearbeitet von Hunter99 am Mo, Dez 20, 2004 18:05, insgesamt einmal bearbeitet

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMo, Dez 20, 2004 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Bild ist grundsätzlich Eckig und wird beim drehen größer , die maximale Breite und Höhe entspricht der Diagonalen des Orginalbildes
BB dreht das Bild auf einen schwarzen Hintergrund, da BB´s maskcolor Schwarz ist!
Das bedeutet das dein eckiges weisses Bild gedreht wird und du danach erst die durchsichtige Farbe bestimmst, demnasch ist das weiße nicht sichtbar, aber die hinzugefügten Pixel sind halt Schwarz und werden gezeichnet!

Du solltest auf Hubsi hören, dann ist dieses Problem Geschichte
[BB2D | BB3D | BB+]
 

Hunter99

BeitragMo, Dez 20, 2004 18:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Shocked he stimmt
BIG THX
jetzt gehts.. jetzt kann ich entlich weitermachen =D

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group