rotateimage()

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

 

GeGenesis

Betreff: rotateimage()

BeitragDi, Nov 30, 2004 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es eine schnelere variante als rotateimage()?
 

Timo

BeitragDi, Nov 30, 2004 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, leider nicht, aber du kannst das bild zu beginn immer wieder drehen und abspeichern, bis du ein Array (zum Beispiel Bild(360)) hast, bei dem du durch den Index die Grand anzahl angeben kannst.
 

GeGenesis

BeitragDi, Nov 30, 2004 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie soll ich nen bild in nem arry speichern ?
 

ke^kx

BeitragDi, Nov 30, 2004 20:36
Antworten mit Zitat
Benutzer-Profile anzeigen
In etwa so:

Code: [AUSKLAPPEN]

Dim Winkel(359)

TFormFilter 0

For i  = 0 To 359
   
Winkel(i) = LoadImage ("Bild.bmp")
   
MidHandle Winkel(i)
   
RotateImage Winkel(i), i

MaskImage Winkel(i), 0, 0, 0
   
Next


Wichtig ist, dass du das TFormFilter 0 nicht vergisst, denn sonst macht Blitz irgendwelcht Berechnungen um das Image runder wirken zu lassen => Großer Zeitverlust

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

Timo

BeitragDi, Nov 30, 2004 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
allerdings nicht vergessen, irgendwann wars das mit dem grafikspeicher Wink also nicht zu große Bilder nehmen

Spikespine

BeitragDi, Nov 30, 2004 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
oder nur 179 feldeinträge nehmen und das bild immer um 2 grad drehen... macht glaub vom optischen wenig unterschied, nimmt aber nur halb so viel speicher ein.
 

GeGenesis

BeitragDi, Nov 30, 2004 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
dannke
aber jetz habe ich ein neues prob

Also ich will einen 2d schoter machen und die figur in kopf richtung bewegen

Code: [AUSKLAPPEN]
Graphics 800,600,2


Type sch
Field x
Field y
End Type

w=0


s=CreateImage(1,1)

SetBuffer ImageBuffer(s)
Color 255,255,0
Plot 0,0

SetBuffer BackBuffer()




Dim Winkel(359)
TFormFilter 0
For i = 0 To 359
Winkel(i) = LoadImage ("p.bmp")
MidHandle Winkel(i)
RotateImage Winkel(i), i
MaskImage Winkel(i), 0, 0, 0
weit=weit+1
Color 100,100,100
Rect 400-(359/2)-2,298,359+4,4+20
Color 255,255,0
Rect 400-(359/2),300,weit,20
Flip
Next



Repeat
Cls



If KeyDown(200)
x=x+Cos(w)
y=y+Sin(w)
EndIf
If KeyDown(203) Then w=w-1
If KeyDown(205) Then w=w+1




If w=359 Or w>359 Then w=1
If w=0 Or w<0 Then w=358
DrawImage(Winkel(w),x,y)
Flip
Until KeyHit(1)
 

ke^kx

BeitragDi, Nov 30, 2004 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du meinst, dass du den Spieler in Richtung eines Punktes/Bildes auf dem Bildschirm drehst, dann guck unter www.blitzforum.de/viewtopic.php?t=353, da hat Rallimen ein sehr gutes Beispiel dafür gepostet.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

GeGenesis

BeitragMi, Dez 01, 2004 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
__
_|__|_
|_____|

Also das ist das bild und ich will das das bild immer in die richtung des kopfes geht und nicht nach rechts
 

ke^kx

BeitragMi, Dez 01, 2004 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Welches Kopfes? Meinst du die Maus? Oder den User am Bildschirm? Dann wäre es aber 3D.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

BladeRunner

Moderator

BeitragMi, Dez 01, 2004 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
GeGenesis hat Folgendes geschrieben:
__
_|__|_
|_____|

Also das ist das bild und ich will das das bild immer in die richtung des kopfes geht und nicht nach rechts


Stell dir vor du müsstest dass als Aussenstehender lesen. könntest du es verstehen? Wir auch nicht. Versuch dein Problem mal präzise (also notfalls mit mehr als einem Satz) zu beschreiben...
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
 

GeGenesis

BeitragMi, Dez 01, 2004 18:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Kopf
_
__| |__
|______|


Also igal wie das image gedreht ist das er in richtung kopf geht


Code: [AUSKLAPPEN]
Graphics 800,600,2


Type sch
Field x
Field y
End Type

w=0


s=CreateImage(1,1)

SetBuffer ImageBuffer(s)
Color 255,255,0
Plot 0,0

SetBuffer BackBuffer()




Dim Winkel(359)
TFormFilter 0
For i = 0 To 359
Winkel(i) = LoadImage ("p.bmp")
MidHandle Winkel(i)
RotateImage Winkel(i), i
MaskImage Winkel(i), 0, 0, 0
weit=weit+1
Color 100,100,100
Rect 400-(359/2)-2,298,359+4,4+20
Color 255,255,0
Rect 400-(359/2),300,weit,20
Flip
Next



Repeat
Cls



If KeyDown(200)
x=x+Cos(w)
y=y+Sin(w)
EndIf
If KeyDown(203) Then w=w-1
If KeyDown(205) Then w=w+1




If w=359 Or w>359 Then w=1
If w=0 Or w<0 Then w=358
DrawImage(Winkel(w),x,y)
Flip
Until KeyHit(1)

Hubsi

BeitragMi, Dez 01, 2004 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
x=x+Cos(w)*speed
y=y+Sin(w)*speed
Ich denke mal daran liegts.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

ke^kx

BeitragMi, Dez 01, 2004 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Veränder einfach die Rechenzeichen/Operatoren und du kommst durch probieren auf die richtige Konstellation.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

GeGenesis

BeitragMi, Dez 01, 2004 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Also noch ein mal zu mit schreiben:


Also ich habe ein mensch von oben

Image:
------------
-----_------
--__| |__--
-|______|-
------------
Oben ist der kopf

Und ich will das er immer in die richtung geht in der der kopf geht.
 

ke^kx

BeitragMi, Dez 01, 2004 19:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich sagte ja:

Zitat:

Veränder einfach die Rechenzeichen/Operatoren und du kommst durch probieren auf die richtige Konstellation.


Wenn bei deinem Anfangsbild der Kopf oben ist sollte es so funktionieren:

Code: [AUSKLAPPEN]

x = x + Sin(w)
y = y - Cos(w)


Glaub ich zumindest,
Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

hot-bit

Gast

BeitragMi, Dez 01, 2004 19:16
Antworten mit Zitat
Hoi..

Rolling Eyes

Toni
 

GeGenesis

BeitragMi, Dez 01, 2004 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
danke
 

ke^kx

BeitragMi, Dez 01, 2004 19:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Was stört dich daran Hot-Bit?

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

hot-bit

Gast

BeitragMi, Dez 01, 2004 19:33
Antworten mit Zitat
Hoi.

Zitat:
Glaub ich zumindest


Das da ...

Toni

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group