Einschusstexture auf die Wände

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Goldini

Betreff: Einschusstexture auf die Wände

BeitragSo, Nov 12, 2006 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute,wie kriegt man z.B schwarze Punkte auf die Wände an den Stellen wo ein Schuss eingeschlagen hat. Ich bin überfragt bitte helft mir. Danke!
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

Pdd

BeitragSo, Nov 12, 2006 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Entweder nen Sprite dort positionieren oder direkt auf die Textur der Wand malen Razz
Lieber Apfel als Birne.

Blitzcoder

Newsposter

BeitragSo, Nov 12, 2006 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit Textur Koordinaten.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

Goldini

BeitragMo, Nov 13, 2006 17:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie malt man z.B. schwarze Punkte auf die Wände?
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

Blitzcoder

Newsposter

BeitragMo, Nov 13, 2006 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Du schnappst dir die Textur(Texturebuffer) und mals z.B einfach einen schwarzen Kreis an die jeweilige Stelle. Schöner währe natürlich noch eine Einschussgrafik.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

Goldini

BeitragMo, Nov 13, 2006 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe leider noch nie Texturebuffer verwendet. Embarassed
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

Dreamora

BeitragMo, Nov 13, 2006 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Das wird so auch nicht funktionieren normalerweise.

Es ist einfacher wenn du "Decals" verwendest oder zumindest etwas ähnliches.

Dazu machst du einfach einen Linepick von der Patrone entsprechend ihrer Bewegung im aktuellen Frame. Wenn es die Wand pickt, hast du eine Position (pickedX Y Z) und die Richtung der Oberfläche an diesem Punkt (pickedNX NY NZ)

Dort packst du dann einen Sprite hin mit der Einschusslochgrafik und richtest sie entsprechend aus.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Christoph

BeitragMo, Nov 13, 2006 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktioniert fast wie imagebuffer()

Goldini

BeitragMo, Nov 13, 2006 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann man auch ne zweite Textur hinzu fügen und dann mit PositionTexture positionieren?
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

Dreamora

BeitragMo, Nov 13, 2006 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
2. Textur ja
Mit Positiontextur: nein
Musst ein zweites UV Set erzeugen damit die Textur entsprechend positioniert wird.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Goldini

BeitragMo, Nov 13, 2006 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du vielleicht mal nen Link?
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

Dreamora

BeitragMo, Nov 13, 2006 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Weniger, weil es niemand mit dieser Methode macht.
Normalerweise nimmt man Sprite Decals und positioniert sie dort an der Wand wo der Schuss kollidiert mit der oben beschriebenen Pick Variante.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Goldini

BeitragMo, Nov 13, 2006 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber zu viele Sprites verbrauchen doch massig Rechnerleistung!?
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

Blitzcoder

Newsposter

BeitragMo, Nov 13, 2006 22:07
Antworten mit Zitat
Benutzer-Profile anzeigen
-> Single Surface, Forensuche benutzen. Ausserdem lässt man soclhe Löcher nie da, selbst bei Counter Strike etc. sind es immer nur 50 oder so. Danach werden alte gelöscht.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

Goldini

BeitragMo, Nov 13, 2006 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach so. Und noch was. Wenn man mit einem Modeller ein Mesh macht und eine Textur schon im Modeller hinzufügt die dann leider nicht mit Exportiert
dann sieht das sehr komisch aus wenn man die Textur mit Blitz3D wieder lädt und aufträgt denn dann ist die Textur nicht mehr so positioniert wie im Modeller. Könnt ihr mir helfen? Ich kriegs nicht hin.
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy
 

Dreamora

BeitragMo, Nov 13, 2006 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
UV Daten erzeugen. UV Modifier fixieren im Model vor dem Exportieren (falls du einen HighEnd Modeller nutzt).
Das sind die Dinge, die für gewöhnlich vergessen werden.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

TheMatrix

BeitragDi, Nov 14, 2006 0:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, das passt ja. Hab mich kürzlich mal mit diesem Thema auseinander gesetzt.

Du kannst ja mal, wenn du lust hast, mit den Parametern ein wenig rumspielen Very Happy

Code: [AUSKLAPPEN]

Graphics 640,480,16,2

Global schuss_speed = 60
Global streu_weite# =5
Global gebiets_schaden = 8
Global patronen = 50
Global bx#, by

Type Schuss
 Field x#,y#,speed,streu#
End Type

Global s.schuss

Global box = CreateImage(120,479) : SetBuffer ImageBuffer(box)
ClsColor 255,255,255 : Cls

cursor = CreateImage(11,11) : SetBuffer ImageBuffer(cursor)
Color 255,255,255 : Oval 5,5,4,4,0
Line 5,0,5,10 : Line 0,5,10,5

bx# = 450
SetBuffer BackBuffer()

clscolor 0,0,0
While Not KeyHit(1)
 Cls : mx = MouseX() : my = MouseY()

  If MouseDown(1) And MilliSecs()>=timer
   timer = MilliSecs()+200
   For a=1 To patronen
    create_schuss(mx+Rnd(-10,10),my)
   Next
  End If

  DrawImage cursor,mx-5,my-5
 bx# = bx#-0.09: by = 0
  DrawImage box,bx#,by
  draw_schuss()
 Flip

 Delay 10
Wend

Function create_schuss(x,y)
s = New schuss
s\x = x
s\y = y
s\speed# = Rnd(30,schuss_speed)
s\streu  = Rnd(streu_weite*-1,streu_weite)
End Function

Function draw_schuss()
 imgw = ImageWidth(box)

 For s=Each Schuss
  ox = s\x# : oy = s\y#
  d=1
  s\x# = s\x#+s\speed#
  s\y# = s\y#+s\streu#
 
  If ox>bx And ox<bx+imgw And s\y#<480 And s\y#>=0
   img = ImageBuffer(box)
   sc = gebiets_schaden
   SetBuffer img
    end_x=ox-bx
    For a=0 To end_x+s\speed#
    LockBuffer img
     rgb = ReadPixelFast(a,s\y,img)
    UnlockBuffer img

     If rgb>1
      Color 0,0,0 : Oval a-sc/2,s\y#-sc/2,sc,sc
      d=0 : Delete s
      Exit
     End If
 
    Next
   SetBuffer BackBuffer()
  End If


  If d=1
   Plot s\x,s\y
   If s\x>640 Then Delete s
  End If

 Next
End Function

Function create_splitter(x,y)
 For a=1 To 10
 Next
End Function


Viel Spass Wink

TheMatrix
°_° °.° °~° °v° .. -.-
  • Zuletzt bearbeitet von TheMatrix am Di, Nov 14, 2006 17:45, insgesamt einmal bearbeitet

Schranz0r

BeitragDi, Nov 14, 2006 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Wow Matrix..

ein weißer Bildschirm Very Happy

Mehr kommt da bei mir net raus?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

TheMatrix

BeitragDi, Nov 14, 2006 17:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab grad gesehen, dass der Code in anderen BB Versionen nicht funktioniert. Clscolor bleibt bei 255,255,255 und wird anscheinend von BB+ wieder auf 0,0,0 gesetzt.

Aber ich habs nun korregiert Wink

Doof das die ganzen BB Versionen bei solchen Sachen immer so Unterschiedlich arbeiten Confused

mfg
°_° °.° °~° °v° .. -.-

Schranz0r

BeitragDi, Nov 14, 2006 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Tip von mir


Code: [AUSKLAPPEN]
box = CreateImage(120,479)
SetBuffer ImageBuffer(box)
Color 255,0,0
Rect 0,0,120,479,1


dann gehts normal doch in jeder Version, oder nicht?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • Zuletzt bearbeitet von Schranz0r am Di, Nov 14, 2006 19:42, insgesamt einmal bearbeitet

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group