CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 Erstellung eines HUDs

Nach unten 
+12
Stephan Borgs
Gamer
Bowserkoopa
Spiederschwein
Harri
Soterotu
Umezawa
Burning Thing
Patta
NilsZ
Extremclonk
Toastbrot
16 verfasser
Gehe zu Seite : Zurück  1, 2
AutorNachricht
Pitri
Feldmarschall
Feldmarschall
Pitri


Männlich Alter : 30
Ort : Karlsruhe
Anmeldedatum : 02.03.09

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptySa Apr 03, 2010 12:52 pm

Tooles Tut! Da bekommt man echt lust viiele viele sinnlose HUDs zu machen! Ich werde den ganzen Bildschirm vollkleistern! Muhahahahaaaaa!

...Naja, ich werd erstmal nur EIN HUD versuchen xD
Nach oben Nach unten
http://www.clonk-fanpage.lima-city.de
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptySa Apr 03, 2010 2:57 pm

Du kannst ja eigentlich mehrere HUDs in eins stopfen. Also 1 Timer aber mehre Ausgaben und Grafiken auf dem Bildschirm. Spart gute Rechenleistung.
Nach oben Nach unten
Tackleberry
Leutnant
Leutnant
Tackleberry


Männlich Anmeldedatum : 29.04.09

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptySo Apr 04, 2010 5:22 am

Toastbrot schrieb:

Feinere Farbabstufungen sind natürlich möglich aber ich habe das hier eher einfach halten wollen.

Es geht sogar sehr genauer! Mit nahezu dynamischen Farbübergängen, und zwar ohne alle Farben einem Lebensenergiebereich zuzuordnen. Ich hab das Tutorial mal nachgebaut (ein sehr gutes Tutorial übrigens Wink) und mit dynamischen Farbübergängen siehts noch besser aus. Wer wissen will, wies geht, liest weiter:

Code:
func Farbe(object clonk) {
var value;    //eine neue Variable erstellen
value = HSL((GetEnergy(clonk)*85)/(GetPhysical("Energy",0,clonk)/1000), 200 ,127);
return(value);             
}

Also, was ist dieses Wunderteil HSL? HSL ist eine Funktion zum Erstellen eines 32-Bit-Farbwertes aus 3 Parametern. Ein 32-Bit-Farbwert ist auch das was bei RGB herauskommt, nur dass dort mit Rot-, Grün-, und Blauanteilen gearbeitet wird. Bei HSL dagegen wird mit dem Farbton (1. Parameter), der Sättigung (2. Parameter) und der Helligkeit (3. Parameter) gearbeitet.

Zurück zu unserem Code:

HSL((GetEnergy(clonk)*85)/(GetPhysical("Energy",0,clonk)/1000), 200 ,127);

Also, was passiert hier? Zur Übersichtlichkeit hab ich die 3 Parameter in unterschiedlichen Farben dargestellt. Wir fangen mit 2 und 3 an, da sie einfacher zu verstehen sind: 200 ist die Sättigung (255 ist max.) und 127 ist die Helligkeit (255 ist max.).

Nun zum ersten Parameter, das hat ein bisschen was mit Mathematik zu tun:
(GetEnergy(clonk)*85)/(GetPhysical("Energy",0,clonk)/1000)

- Das ist der aktuelle Energiewert des Clonks, multipliziert mit 85. Warum 85? Siehe unten.
- Das ist der Energywert des Clonks aus der DefCore, dividiert durch 1000. Wieso 1000? Siehe erster Post in diesem Thread Razz

Die 85 hat mit dem Farbtonwert von HSL in Clonk zu tun, wer noch nicht dem Link in die Doku gefolgt ist: 85 ist reines Grün. Wer nun einmal nachrechnet: (Volle Energie des Clonks * 85) / Voller Energiewert aus der DefCore. Was bleibt übrig? Genau, die 85. Folglich ist bei voller Energie die Farbe grün. Passt halt.
Wer nun weiterrechnet wird feststellen, dass die Werte bei sinkender Energie immer kleiner werden. Und kleinere Werte, die gegen 0 laufen haben den Farbton rot, passt also auch.

Das ist die gesamte Logik, die hinter dieser Zeile steckt. Wer ein bisschen mit den Farb-, Sättigungs- und Helligkeitswerten herumspielt und ein bisschen mathematisch denken kann, kann sich so selbst dynamische Farbübergänge in allen Farben machen! Wenns noch Fragen gibt, fragt nur! (;


Nebenbei: So kann man z.B. auch Helligkeitsübergänge machen, indem man statt dem Farbton die Helligkeit ändert!
Nach oben Nach unten
Pitri
Feldmarschall
Feldmarschall
Pitri


Männlich Alter : 30
Ort : Karlsruhe
Anmeldedatum : 02.03.09

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptySa Apr 10, 2010 1:39 pm

OK das mit dem Farbübergang hätte ich auch gepostet, nur hätte ichs anders gemacht! Grün und rot als variable und je nach Stand verringern. Ich hätte kein HSL benötigt...

Spoiler:
Nach oben Nach unten
http://www.clonk-fanpage.lima-city.de
Stephan Borgs
Kadett
Kadett
Stephan Borgs


Männlich Alter : 29
Ort : Duisburg Meiderich
Anmeldedatum : 09.03.10

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptySa Apr 10, 2010 2:54 pm

Dein Hud gefällt mir, wirklich.
Aber, über welche Waffe informiert dich das Hud?
Nach oben Nach unten
Tackleberry
Leutnant
Leutnant
Tackleberry


Männlich Anmeldedatum : 29.04.09

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptySa Apr 10, 2010 5:55 pm

@Pitri
Nur mit RGB ist es ziemlich schwierig nicht die Farbwerte zu verlieren, oder wie hättest du das gemacht? Surprised
Nach oben Nach unten
WarPig
Leutnant
Leutnant



Männlich Alter : 30
Anmeldedatum : 16.04.10

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptySa Apr 17, 2010 12:42 am

Hi,
das tut is echt super, ABER:
wenn ich versuche mir zwei Werte (energie und atem) mit einem Timer anzeigen zu lassen gibts immer massenweise errors. Ich habs auch schon mit zwei Timern versucht, aber dann zeigt er immer nur den Wert des zuerst aufgerufenen. Ich habs auch mit zwei Actions in der Actmap ausprobiert, hilft alles nix.
Bitte helf mir!
lg WarPig
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptySa Apr 17, 2010 11:55 am

Kannst du uns den Script zeigen, pls?
Nach oben Nach unten
http://www.gamer95.npage.de/
WarPig
Leutnant
Leutnant



Männlich Alter : 30
Anmeldedatum : 16.04.10

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptySa Apr 17, 2010 11:53 pm

okee,
entweder

Code:
/*-- HUD --*/

#strict2

func Initialize()
{
  SetVisibility(VIS_Owner);
  SetAction("Time");
  SetPosition(220, 125);
}

func Timer()
{
   var clonk;
   clonk=GetCursor(GetOwner(this));
   
   if(clonk)
   {
        CustomMessage(Format("%d",GetEnergy(clonk)),
                      this,
                      GetOwner(this),
                      -115,40,
                      Color(clonk));
   }
}

func Timer2()
{
   var clonk2;
   clonk2=GetCursor(GetOwner(this));
   
   if(clonk2)
   {
        CustomMessage(Format("%d",GetBreath(clonk2)),
                        this,
                        GetOwner(this),
                        -50,40,
                        Breathcolor(clonk2));
   }
}

func Color(object clonk)
{
   //green
   if(GetEnergy(clonk)>GetPhysical("Energy",0,clonk)/1000-50)return(RGB(0,250,0));
   //yellow
   if(GetEnergy(clonk)>50)return(RGB(255,255,0));
   //red
   return(RGB(165,17,17));
}

func Breathcolor(object clonk2)
{
   //green
   if(GetBreath(clonk2)>GetPhysical("Breath",0,clonk2)/1000-75)return(RGB(0,250,0));
   //yellow
   if(GetBreath(clonk2)>100)return(RGB(255,255,0));
   //red
   return(RGB(165,17,17));
}



oder
Code:
/*-- HUD --*/

#strict2

func Initialize()
{
  SetVisibility(VIS_Owner);
  SetAction("Time");
  SetPosition(220, 125);
}

func Timer()
{
   var clonk;
   clonk=GetCursor(GetOwner(this));
   
   if(clonk)
   {
        CustomMessage(Format("%d",GetEnergy(clonk)),
                      this,
                      GetOwner(this),
                      -115,40,
                      Color(clonk));

        CustomMessage(Format("%d",GetBreath(clonk)),
                   this,
                   GetOwner(this),
                   -50,40,
                   Breathcolor(clonk));
   }
}

func Color(object clonk)
{
   //green
   if(GetEnergy(clonk)>GetPhysical("Energy",0,clonk)/1000-50)return(RGB(0,250,0));
   //yellow
   if(GetEnergy(clonk)>50)return(RGB(255,255,0));
   //red
   return(RGB(165,17,17));
}

func Breathcolor(object clonk)
{
   //green
   if(GetBreath(clonk)>GetPhysical("Breath",0,clonk)/1000-75)return(RGB(0,250,0));
   //yellow
   if(GetBreath(clonk)>100)return(RGB(255,255,0));
   //red
   return(RGB(165,17,17));
}
Nach oben Nach unten
Tackleberry
Leutnant
Leutnant
Tackleberry


Männlich Anmeldedatum : 29.04.09

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptyMo Apr 19, 2010 6:30 pm

Afaik kann eine CustomMessage nur einmal über dem gleichen Objekt aufgerufen werden. Du brauchst also noch ein zweites Objekt, ein unsichtbares Hilfsobjekt, bei dem du die zweite Nachricht aufrufen kannst. Du erstellst also dieses Objekt, gibst ihm die gleiche Position, VIS_None und erstellst die Message.
Nach oben Nach unten
Pitri
Feldmarschall
Feldmarschall
Pitri


Männlich Alter : 30
Ort : Karlsruhe
Anmeldedatum : 02.03.09

Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 EmptyMo Apr 19, 2010 7:23 pm

Stephan Borgs schrieb:
Dein Hud gefällt mir, wirklich.
Aber, über welche Waffe informiert dich das Hud?

Ich hab das Waffensystem von einem Adventureszenario geremaked! Ich kanns ja mal aufs CCAN laden!
Nach oben Nach unten
http://www.clonk-fanpage.lima-city.de
Gesponserte Inhalte





Erstellung eines HUDs - Seite 2 Empty
BeitragThema: Re: Erstellung eines HUDs   Erstellung eines HUDs - Seite 2 Empty

Nach oben Nach unten
 
Erstellung eines HUDs
Nach oben 
Seite 2 von 2Gehe zu Seite : Zurück  1, 2
 Ähnliche Themen
-
» 2 HUDs machen
» Sichtbarkeit eines Objektes
» Objekte in Landscape einbauen
» script hilfe eines szens

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Fortgeschrittene :: Tutorials-
Gehe zu: