Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AndrewAMD, alibaba), 1,426 guests, and 9 spiders.
Key: Admin, Global Mod, Mod
Newest Members
AemStones, LucasJoshua, Baklazhan, Hanky27, firatv
19055 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Glas soll sich mit Fenster öffnen #84566
08/04/06 16:47
08/04/06 16:47
Joined: Apr 2005
Posts: 23
Essen, Germany
L
Lwiet10052 Offline OP
Newbie
Lwiet10052  Offline OP
Newbie
L

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 Offline
User
Artus  Offline
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: Artus] #84568
08/05/06 10:56
08/05/06 10:56
Joined: Apr 2005
Posts: 23
Essen, Germany
L
Lwiet10052 Offline OP
Newbie
Lwiet10052  Offline OP
Newbie
L

Joined: Apr 2005
Posts: 23
Essen, Germany
Vielen Dank !
Handles scheinen der richtige Weg zu sein, ich muß mich da aber noch einarbeiten...

Re: Glas soll sich mit Fenster öffnen [Re: Lwiet10052] #84569
08/05/06 20:36
08/05/06 20:36

A
Anonymous
Unregistered
Anonymous
Unregistered
A



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


Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1