3 registered members (NewbieZorro, TipmyPip, 1 invisible),
19,045
guests, and 8
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Lebenspanelfrage
#236083
11/11/08 19:14
11/11/08 19:14
|
Joined: Aug 2008
Posts: 43 Germany, Baden-Württemberg
Mageron
OP
Newbie
|
OP
Newbie
Joined: Aug 2008
Posts: 43
Germany, Baden-Württemberg
|
Guten Abend alle zusammen, habe folgendes Problem: Ich habe ein Panel mit einem Fesnter und einer Bitmap. Auf Mausklick soll die nun kleiner werden. Funktioniert auch, nur wie kann ich es machen, dass, sobald die Bitmap <= 0 ist, eine Animation ausgeführt wird. ENTITY* Spieler;
VAR Leben = 100;
PANEL Lebensbalken
{
pos_x = 10; pos_y = 500;
layer = 1;
window (10,15,19,95,"Lebensbalken.bmp",0,0);
flags = Overlay;
}
FUNCTION Leben_senken()
{
While(key_pressed(280) == on)
{
Lebensbalken.scale_y += 0.011 * time_Step;
WAIT(1);
}
}
ACTION I_Warhound
{
Spieler = me;
var Bewegung;
var Gravitation;
var Distanz_zum_Boden;
var Laufgeschwindigkeit = 40; // Grundwert
var Drehgeschwindigkeit = 5; // Grundwert
var Animationsfortschritt = 0; // Grundwert
var Animationsgeschwindigkeit = 10; // Grundwert
my.shadow = on;
my.push = 10;
WHILE(1)
{
c_setminmax(me);
//Gravitation
Distanz_zum_Boden = c_trace(my.x,vector(0,0,-4000),ignore_me | ignore_sprites | ignore_models | use_box);
Gravitation.z = -Distanz_zum_Boden;
Gravitation.z = max (-250 * time, Gravitation.z);
// rennen
Bewegung.x = Laufgeschwindigkeit * (key_w - key_s) * time;
Bewegung.y = 0;
my.pan += Drehgeschwindigkeit * (key_a - key_d) * time;
if (Bewegung.x != 0)
{
Animationsgeschwindigkeit = 3;
ent_cycle("walk", Animationsfortschritt);
}
else
{
Animationsgeschwindigkeit = 6;
ent_cycle("stand", Animationsfortschritt);
}
Animationsfortschritt += Animationsgeschwindigkeit * time;
c_move(me,Bewegung, nullvector,glide | ignore_passable);
c_move(me,Gravitation,nullvector,glide);
vec_diff(temp,nullvector,sicht_dist);
vec_to_angle(sicht_ang,temp);
sicht_ang.tilt = -10;
vec_set(Sicht.x,sicht_dist);
vec_rotate(Sicht.x,my.pan);
vec_add(Sicht.x,my.x);
vec_set(Sicht.pan,sicht_ang);
ang_add(Sicht.pan,my.pan);
Leben_senken();
WAIT(1);
}
} Kann ich das auch in verbindung mit einer Variable oder skill bringen, sprich als Lebensanzeige? mfG Mageron
|
|
|
Re: Lebenspanelfrage
[Re: Mageron]
#236179
11/12/08 16:09
11/12/08 16:09
|
Joined: Oct 2005
Posts: 612
Inari
User
|
User
Joined: Oct 2005
Posts: 612
|
ganz einfach, lass die Schleife welche das Panel schrumpfen lässt sich beenden und mit der folgenen Schleife startes du dann die animaiton  füge einach das rote hinzu, dann wird diese Schleife nur solange ausgeführt wenn A: die Taste = on ist und B: Lebensbalken.scale_y <= 0 ist. Dann sollte es funzen  FUNCTION Leben_senken() { While(key_pressed(280) == on && Lebensbalken.scale_y <= 0) { Lebensbalken.scale_y += 0.011 * time_Step; WAIT(1); } While(1) { ... WAIT(1); }  Inari
|
|
|
Re: Lebenspanelfrage
[Re: Mageron]
#237146
11/18/08 17:17
11/18/08 17:17
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile

3D Artist
|

3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
Probier das mal:
FUNCTION Leben_senken()
{
While(1)
{
if(key_pressed(280) == on && Lebensbalken.scale_y <= 0)
{
Lebensbalken.scale_y += 0.011 * time_Step;
}
WAIT(1);
}
Um den Bildschirm stark auf zu hellen, probier einfach mal eine weisse Bitmap mit einem Alpha Kanal langsam sichtbar zu machen.... cYa Sebastian
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Re: Lebenspanelfrage
[Re: rvL_eXile]
#237154
11/18/08 17:43
11/18/08 17:43
|
Joined: Aug 2008
Posts: 43 Germany, Baden-Württemberg
Mageron
OP
Newbie
|
OP
Newbie
Joined: Aug 2008
Posts: 43
Germany, Baden-Württemberg
|
Also, das erste funktioniert noch immer nicht. Beim zweiten hab ich auch ein problem: FUNCTION verblassen()
{
WHILE(1)
{
my.alpha += 6 * time_step;
if(my.alpha >= 100)
{
ent_remove(me);
}
WAIT(1);
}
}
FUNCTION Gegner()
{
if(event_type == event_shoot ){
ent_remove(me);
ent_create("Helligkeit.bmp",Spieler.x,verblassen);
}
if(event_type == event_impact){
ent_remove(me);
}
} Es passiert nichts, außer, dass die BMAP erscheint und die andere Entity verschwindet.
|
|
|
Re: Lebenspanelfrage
[Re: Mageron]
#237166
11/18/08 18:40
11/18/08 18:40
|
Joined: Oct 2005
Posts: 612
Inari
User
|
User
Joined: Oct 2005
Posts: 612
|
Wie kann ich es bewerkstelligen, dass der Bildschirm stark aufgehellt wird, etwa so wie bei einem Lichtblitz bei einer Nuklearexplosion?  Wie wäre es wenn du schlagartig den sun_light wert hoch treibst, dass die Sonne immer stärker scheint (sehr grell) und dann mit einen Panel mit einem weißen bmap was  bei etwa sun_light = 90, erst alpha = 0 und dann immer sichtbarer wird und zwar schnell nach ein paar Sekunden wird das bmap dann langsam wieder transparenter  und auch die Sonne normalisiert sich wieder. Inari
|
|
|
Re: Lebenspanelfrage
[Re: Inari]
#237318
11/19/08 16:39
11/19/08 16:39
|
Joined: Aug 2008
Posts: 43 Germany, Baden-Württemberg
Mageron
OP
Newbie
|
OP
Newbie
Joined: Aug 2008
Posts: 43
Germany, Baden-Württemberg
|
Ich habe folgendes bei der Event-Function heinzugefügt: explosion.visible = on;
explosion.alpha -= 5 * time_step; explosion ist ein Panel mit einer weißen Bitmap. Die erscheint auch, wird aber nicht transparent.
|
|
|
|