3 registered members (Dico, AndrewAMD, TipmyPip),
16,874
guests, and 5
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Glas soll sich mit Fenster öffnen
#84566
08/04/06 16:47
08/04/06 16:47
|
Joined: Apr 2005
Posts: 23 Essen, Germany
Lwiet10052
OP
Newbie
|
OP
Newbie
Joined: Apr 2005
Posts: 23
Essen, Germany
|
Alle Glastüren in meinem Gebäude sollen sich öffnen, sobald ich in der Nähe einer der Türen bin und "space" drücke. Die Glasscheiben erzeuge ich bei Spielstart an der Position der Fensterrahmen. Diese sollen sich nun inklusive Glasscheibe öffnen und schließen. Da die Türbewegungen komplexer sind als eine einfache Drehung habe ich die Modelle animiert. Bei Tür Nr.1 klappt's, bei der 2. bewegt sich nur das Glas, aber nicht der Rahmen. Es wäre toll, wenn mal jemand drüberschauen könnte... Vielen Dank vorab !
Hier der code:
//******************************************************************************** //Variablen, Definitionen, usw. hier:
var Tuerzustand; // Tür ist am Anfang zu, 0 = zu, 1 = auf var Animationspeed = 0.10; var Animationauf; //Prozentwert der animation "auf" var Animationzu; //Prozentwert der animation "zu" define In_Reichweite,Flag1; entity* Rahmen; entity* Glas_Rahmen;
FONT Eurostile_10, <Eurost10.bmp>, 17, 16;//definiert Eurstile als Font text Schrift_Rahmen //Definition Schriftzug Glasfassade { font = Eurostile_10; string = "Fassadenelemente"; //Wiederzugebender Text flags = transparent; }
material mat_Glas // Materialdefinition für das Glas { ambient_red = 170; ambient_green = 190; ambient_blue = 170; diffuse_red = 190; diffuse_green = 210; diffuse_blue = 190; specular_red = 255; specular_green = 255; specular_blue = 255; power = 5; }
//******************************************************************************** //Funktionen hier:
function Glasfassade { Glas_Rahmen = me; my.material = mat_Glas; //Materialzuordnung Glas my.transparent = on; while(Rahmen) { my.frame=Rahmen.frame; //vec_set(my.x, Rahmen.x); vec_set(my.pan, Rahmen.pan); //Glas soll sich bewegen wie der Rahmen und an dessen Position erscheinen wait(1); } }
function Fassadeauf() //Animation des Rahmens { Animationauf = 0; while (Animationauf <= 100) { ent_animate(Rahmen,"Auf",Animationauf,100); Animationauf = (Animationauf+Animationspeed*time); wait (1); } Tuerzustand = 1; }
function Fassadezu() //Animation des Rahmens { Animationzu = 0; while (Animationzu <= 100) { ent_animate(Rahmen,"Zu",Animationzu,100); Animationzu = (Animationzu+Animationspeed*time); wait (1); } Tuerzustand = 0; } //******************************************************************************** //Aktionen usw. hier:
action Profile_Glasfassade { Rahmen = me; my.passable = on; ent_create ("Glasfassade.mdl", my.x, Glasfassade); //Erzeuge das Glas trace_mode = ignore_me + ignore_models + ignore_passents; while (1) { if ( (trace (my.x, camera.x) == 0) // Wenn der Objektschwerpunkt auf dem Bildschirm sichtbar ist && // und (vec_dist(my.x,camera.x)) < 100 // die Entfernung zur Camera < 100 quants = 5,00m ist ) { Schrift_Rahmen.visible = on; // zeige den Text Schrift_Rahmen.pos_x = screen_size.x - 274; //16 Buchstaben * 17 Pixel Buchstabenbreite my.In_Reichweite = on; } else { Schrift_Rahmen.visible = off; // zeige den Text nicht my.In_Reichweite = off; } if (key_space && my.In_Reichweite == on && Tuerzustand == 0) { Fassadeauf(); } if (key_space && my.In_Reichweite == on && Tuerzustand == 1 ) { Fassadezu(); } wait (1); } }
|
|
|
Re: Glas soll sich mit Fenster öffnen
[Re: Lwiet10052]
#84567
08/04/06 18:14
08/04/06 18:14
|
Joined: Jan 2005
Posts: 545 Schleswig-Holstein, Deutschlan...
Artus
User
|
User
Joined: Jan 2005
Posts: 545
Schleswig-Holstein, Deutschlan...
|
Hi ich habe mir dein Scrit nicht wirklich angesehen, hatte dazu keine rechte Lust  aber ich hätte zwei Ideen dazu: 1. Mit dem neuen MED kann man nun auch Modelle bauen, wo eine Textur transparent ist - also Rahmen und Glas in einem Modell. Einfache Materialeigenschaften kannst du dort auch setzen. 2. Verwende "Handle"s im Script, du verwendest zwei Pointer, bei einer Scheibe/Rahmen ist das ok, bei mehr geht das so nicht. Du kannst das Handle der Scheibe im Script des Rahmen in einem Skill speichern und dann mit ptr_for_handle auf die Scheibe zugreifen
|
|
|
Re: Glas soll sich mit Fenster öffnen
[Re: Lwiet10052]
#84569
08/05/06 20:36
08/05/06 20:36
|
Anonymous
Unregistered
|
Anonymous
Unregistered
|
Hi! Ich würde Rahmen und Glass der Tür in einem Modell vereinen und die Transparenz des Glases mit eine Alpha-Kanal setzen. Das spart unmengen Programmierarbeit, sieht super aus und ist auch schneller! mercuryus
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|