[GELÖST] Nur in einem bestimmten Bereich zeichnen?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

M0rgenstern

Betreff: [GELÖST] Nur in einem bestimmten Bereich zeichnen?

BeitragDi, Dez 01, 2009 13:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute.
Wollte mal nachfragen, wie man folgende Idee umsetzen kann, weil mir einfach keine Möglichkeit einfällt:

Ich hab den Bildschirm (1024*768) und ein kleineres Bild, das sich mit der Maus bewegt.
Jetzt will ich, dass alles um dieses Bild herum schwarz ist, und nur der Teil des Spiels angezeigt wird, der im Bereich dieses Bildes liegt.
Ich hoffe, man versteht, was ich meine...


Lg, M0rgenstern
  • Zuletzt bearbeitet von M0rgenstern am Mi, Dez 02, 2009 19:40, insgesamt einmal bearbeitet

Noobody

BeitragDi, Dez 01, 2009 13:11
Antworten mit Zitat
Benutzer-Profile anzeigen
ViewPort wird dir weiterhelfen.

Du löschst den Bildschirm und zeichnest das Spiel ganz normal. Alles ausserhalb des mit dem Befehl festgelegten Rechtecks wird nicht gezeichnet und bleibt schwarz.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

M0rgenstern

BeitragDi, Dez 01, 2009 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wenn dieses Bild nicht rechteckig sondern kreisförmig ist?
lg, M0rgenstern

Xeres

Moderator

BeitragDi, Dez 01, 2009 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Wo ist das Problem? Einfach ein durchsichtiger Kreis in die Mitte... d.h. in der Maskfarbe -> maskimage.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

M0rgenstern

BeitragDi, Dez 01, 2009 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, dann hab ich immernoch den schwarzen Untergrund... Ich glaub ich denk wieder zu kompliziert, aber: Wie bekomm ich da ein "Loch" an der Stelle rein?
Wie ich den Bereich durchsichtig mache von dem BIld selbst ist mir klar...
Nur überall sonst ist es ja schwarz...
Wie kann ich also die Sachen die UNTER dem schwarzen liegen anzeigen lassen, halt nur in dem Bereich des anderen Bildes?


Das ist mein Problem, wobei die Lösung sicher so einfach ist, dass ich mich später wieder ärgere.

Lg, M0rgenstern

Goodjee

BeitragDi, Dez 01, 2009 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
mal doch eifnach alles und klatsch nen schwarzes bild mit kleinem loch drüber?

erstell ein bild in bildschirmgröße. setz die maskcolor auf pink und mal in den imagebuffer nen pinkes irgendwas
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

M0rgenstern

BeitragDi, Dez 01, 2009 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, dann hab ich das riesen schwarze bild mit dem Loch.
Die Idee ist mir auch schon gekommen.
Aber ich müsste das dann auch noch wesentlich größer als den BIldschirm machen, damit es sich nicht zu weit verschiebt und dann an einer Seite ne freie Fläche hat....

Gäbs da keine.... andere Möglichkeit?

Lg, M0rgenstern

Noobody

BeitragDi, Dez 01, 2009 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie gesagt: Benutz ViewPort.

Du setzt das Rechteck zur X/Y-Position deines Bildes und Breite/Höhe auf die Breite und Höhe deines Bildes. Dann ist alles schwarz, bis auf das Rechteck, welches das Bild einnimmt.

Dann zeichnest du das Bild selbst nochmal drüber, das den restlichen Teil des noch sichtbaren Rechtecks schwarz macht, bis auf die Stellen, wo das Bild transparent ist. Tadaa!
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

M0rgenstern

BeitragDi, Dez 01, 2009 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah, das ist gut.
ViewPort kann ich auch gut in meinem anderen Projekt nutzen, dann muss ich nicht mehr die blöden Entfernungsabfragen machen.

Vielen Dank.
Ich werds gleich testen.
Lg, M0rgenstern

Goodjee

BeitragDi, Dez 01, 2009 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
oder du updatest das bild jeden frame
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

M0rgenstern

BeitragMi, Dez 02, 2009 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähm...
So ne Frage:
Kann es sein, dass sich Viewport nicht mit Draw3D verträgt?
Das funktioniert irgendwie nicht.

Hier mein Code für die Zeichenfunktion. Die wird jedes Mal in der Hauptschleife aufgerufen:

Code: [AUSKLAPPEN]
Function AllesAnzeigen()
   
   Viewport MouseX3D, MouseY3D, 50, 50
   Drawimage3d(Fadenkreuz, MouseX3D, MouseY3D, 0, 0, 1)
   Text3D(Schriftart, -100, -100, "X: " + MouseX3D + " Y: " + MouseY3D, 1, 0, 0)
   
   For Gegner.TTestGegner = Each TTestGegner
      Drawimage3d(Gegner\Image, Gegner\XPos, Gegner\YPos, 0, 0, Gegner\Groesse)
   Next
   
End Function


Oder hab ich was falsch gemacht?

Lg, M0rgenstern

Xeres

Moderator

BeitragMi, Dez 02, 2009 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich funktioniert ein 2D Befehl nicht in 3D...
Aber es spricht nichts dagegen, mit vier Schwarzen Rechtecken die Szene "ab zu kleben" und in der Mitte den Bereich für das Loch aus zu lassen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Tankbuster

BeitragMi, Dez 02, 2009 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich könnte man auch ein flaches Mesh mit einem Loch in der Mitte machen, dass man dann mit EntityFX etwas bearbeitet und vor die Kamera schiebt.

Wäre dann viel schneller als nach dem Rendern noch auf den Screen zu zeichnen.
Twitter
Download Jewel Snake!
Windows|Android

M0rgenstern

BeitragMi, Dez 02, 2009 19:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich habs jetzt gemacht wie Xeres gesagt hat:
Vier Rechtecke, ein wenig mit den Zahlen gespielt und fertig.
Passt genau und sieht gut aus.

Vielen Dank an alle.

@ Tankbuster:
Mit Meshes und den ganzen 3D Befehlen hab ich mich noch nicht wirklich beschäftigt, und ehrlich gesagt, das da ist ein relativ kleines Projekt, dafür werde ich das nicht tun.
Werds mir aber bei Gelegenheit anschauen.

Lg, M0rgenstern

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group