1 registered members (AndrewAMD),
1,135
guests, and 2
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: SKYCUBES wechseln
[Re: Progger]
#362056
03/06/11 14:09
03/06/11 14:09
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile
3D Artist
|
3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
hey, hab das damals in C-script so gemacht. Habe mir Buttons definiert und auf Click wurde dann der Sky gechanged. Example:
sky skycube1
{
type = <sky_daem+6.tga>;
flags = cube;
}
sky skycube2
{
type = <sky_blue+6.tga>;
flags = cube;
}
Panel Sky_Change
{
button = 25, 25, Button_Sky_1, Button_Sky_1, Button_Sky_1, Change_to_Sky1, null, null;
button = 25, 175, Button_Sky_2, Button_Sky_2, Button_Sky_2, Change_to_Sky2, null, null;
digits(25,700,11,arial_font,1,Sky1);
digits(25,720,11,arial_font,1,Sky2);
}
Function Change_to_Sky1
{
Skycube1.visible=on;
Skycube2.visible=off;
Sky1=1;
Sky2=0;
}
Function Change_to_Sky2
{
Skycube1.visible=off;
Skycube2.visible=on;
Sky1=0;
Sky2=1;
}
Gruß Sebastian
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Re: SKYCUBES wechseln
[Re: Progger]
#362057
03/06/11 14:09
03/06/11 14:09
|
Joined: Jan 2011
Posts: 797 Da wo du nicht bist! Muhahaha!
xxxxxxx
User
|
User
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
|
zeig ma bitte was du bisher versucht hast! ich nehe ma an das du bisher versucht hast den himmel zu entfernen und einen neuen zu creiren. probier ma zwei sky enties und ändere einfach den layer zur laufzeit. EDIT: schon wieder kam mir jemand zuvor xxxxxxx
Last edited by xxxxxxx; 03/06/11 14:10.
Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben!
|
|
|
Re: SKYCUBES wechseln
[Re: xxxxxxx]
#362058
03/06/11 14:15
03/06/11 14:15
|
Joined: Sep 2009
Posts: 496
Progger
OP
Senior Member
|
OP
Senior Member
Joined: Sep 2009
Posts: 496
|
ich habe es so versucht da ich noch keine erfahrung drin habe
ENTITY* mountain_cube =
{
type = "NACHT+6.tga";
flags2 = SKY | CUBE | SHOW;
layer = 2;
z = 30; // move 30 pixels upwards
}
ENTITY* mountain2_cube =
{
type = "skyday+6.tga";
flags2 = SKY | CUBE | SHOW;
layer = 2;
z = 30; // move 30 pixels upwards
}
function change_cubes()
{
sky+=1;
if(sky>1)
sky=0;
if(sky==0)
{
reset(mountain2_cube,CUBE);
reset(mountain2_cube,SKY);
reset(mountain2_cube,SHOW);
set(mountain_cube,CUBE);
set(mountain_cube,SKY);
set(mountain_cube,SHOW);
camera.ambient=-100;
}
if(sky==1)
{
reset(mountain_cube,CUBE);
reset(mountain_cube,SKY);
reset(mountain_cube,SHOW);
set(mountain2_cube,CUBE);
set(mountain2_cube,SKY);
set(mountain2_cube,SHOW);
}
}
und dann in der main on_f=change_cubes mein Resultat BILD MFG Progger
Last edited by Progger; 03/06/11 14:22.
|
|
|
Re: SKYCUBES wechseln
[Re: Progger]
#362099
03/06/11 17:42
03/06/11 17:42
|
Joined: Sep 2009
Posts: 496
Progger
OP
Senior Member
|
OP
Senior Member
Joined: Sep 2009
Posts: 496
|
Hm hat keiner mehr ne idee da es nicht funktioniert und ich bräuchte das schon dringend MFG Progger
|
|
|
Re: SKYCUBES wechseln
[Re: Progger]
#362123
03/06/11 20:04
03/06/11 20:04
|
Joined: Aug 2007
Posts: 1,922 Schweiz
Widi
Serious User
|
Serious User
Joined: Aug 2007
Posts: 1,922
Schweiz
|
Für die SHOW, SKY, CUBE werden flags2 und nicht flags verwendet. Du kannst nicht das Makro "set" und "reset" für flags2 verwenden.
mountain_cube.flags2 |= SHOW; // set... mountain_cube.flags2 &= ~SHOW; // reset...
Oder schreibe ein eigenes Makro für flags2 (set_2 / reset_2)
EDIT: Um eine var von 0 auf 1 und wieder auf 0 zu wechseln: sky = -sky + 1;
oder: sky = !sky;
Last edited by Widi; 03/06/11 20:07.
|
|
|
Re: SKYCUBES wechseln
[Re: Widi]
#362124
03/06/11 20:07
03/06/11 20:07
|
Joined: Sep 2009
Posts: 496
Progger
OP
Senior Member
|
OP
Senior Member
Joined: Sep 2009
Posts: 496
|
@widi vielen dank werde ich mal ausprobieren EDIT:Danke du hast meinen Tag gerettet gibt es denn irgendwo im Handbuch wo man das hätte nachlesen können? MFG Progger
Last edited by Progger; 03/06/11 20:11.
|
|
|
Re: SKYCUBES wechseln
[Re: Progger]
#362155
03/06/11 22:12
03/06/11 22:12
|
Joined: Jul 2001
Posts: 6,904
HeelX
Senior Expert
|
Senior Expert
Joined: Jul 2001
Posts: 6,904
|
Meinst du das mit den Makros oder allgemein wie man an so ein Problem herangeht? Also das mit den Makros ist zugegebenerweise... ich sag mal... schlecht gelöst. Also zu allererst gibt es ja im Manual eine Seite, die "Macros" heißt. Da steht dann direkt ganz dick: The following macros are predefined in include\acknex.h for making life easier and code shorter. !! Valuable hint: look into acknex.h for checking what a certain macro is doing before using it. Macros in a programming language are notorious for causing trouble when used in a wrong way. So don't use a macro without knowing which code it generates. Man ist also schonmal vorgewarnt in acknex.h steht dann:
#define set(obj,flag) obj->flags |= (flag)
#define reset(obj,flag) obj->flags &= ~(flag)
#define toggle(obj,flag) obj->flags ^= (flag)
#define is(obj,flag) (obj->flags & (flag))
Man sieht also, was reset, set und so weiter bewirken: wenn du das verwendest, wird dann der code der in der jeweils rechten define-Klausel steht, eingesetzt - das ist also keine Funktion, sondern einfach nur code. Diese speziellen Makros arbeiten auf dem flags field einer Datenstruktur. Und jetzt kommt der ganz schön krumme und etwas glitschige Haken: zwar steht in der Einleitung, dass da unser Life dann easier werden würde damit, aber leider hat es JCL im Laufe der letzten Jahre verpasst, flags in einem Feld zu vereinheitlichen (womit ich jetzt nicht den Anspruch erhebe dass ich das besser könnte - das hat ja einen Grund.. dafür könnte ich zwanzig an einer Hand abzählen. Wir haben das auch schonmal angemerkt, aber manchmal will er sowas nicht so gerne ) Dadurch sind diese Makros im echten Leben leider wertlos, weil das ganz schön Mist ist bei den einen Datentypen auf eflags und flags2 da die echten Verorderungs-Anweisungen usw. zu verwenden und dann beim Rest reset und so. Wir sind ja hier nicht beim Kirmesboxen... entweder das Eine oder das Andere aber nicht son Gemische, das bringt einen manchmal ganz vielleicht in den Wahnsinn Und Neulinge wissen solche Details eher nicht so direkt auf Anhieb, weswegen du dir keinen Vorwurf machen musst, dass du das auf Anhieb nicht gefunden hast. Jetzt weißt dus aber!
Last edited by HeelX; 03/06/11 22:15.
|
|
|
Re: SKYCUBES wechseln
[Re: HeelX]
#362158
03/06/11 22:26
03/06/11 22:26
|
Joined: Aug 2007
Posts: 1,922 Schweiz
Widi
Serious User
|
Serious User
Joined: Aug 2007
Posts: 1,922
Schweiz
|
Ja, das mit den flags, flags2 und eflags war am Anfang auch verwirrend für mich. Manchmal, wenn mir langweilig ist, lese ich einfach so das Manual durch. Am Anfang habe ich vieles darin nicht verstanden, welcher Befehl für was gut ist. Aber je mehr Erfahrung du sammelst, desto mehr verstehst du darin. Dann kommt der "ahaaa" Effekt: Ahaa, für DAS ist dieser Befehl gut, kann ich hier und dort gut gebrauchen!
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|