Posted By: alves
Explosion in mouse coordinated - 06/06/08 23:14
Simple explosion, on top of the click.
Executavel
Code:
#include <acknex.h> #include <default.c> SOUND* Explosion_wav = "Explosion.wav"; BMAP* Fire_tga = "Fire.tga"; function VecRandomize(var *vec, var range); function FadeParticle(PARTICLE *p); function Fire(PARTICLE *p); function Explosion(); VECTOR ParticlePos; /* Main Function ---------------------------------*/ function main() { mouse_mode = 2; level_load("Explosao.wmb"); wait(2); while(1) { on_mouse_left = Explosion; vec_set(mouse_pos, mouse_cursor); vec_set(ParticlePos, mouse_pos); wait(1); } } function Explosion() { ParticlePos.z = 200; snd_play(Explosion_wav, 100, 1); vec_for_screen(ParticlePos, camera); effect(Fire, 1000, ParticlePos, normal); } /* Particle Generator -------------------------------*/ function Fire(PARTICLE *p) { var temp[3]; VecRandomize(temp, 10); vec_add(p.vel_x, temp); p.alpha = 25 + random(25); p.bmap = Fire_tga; p.flags |= (BRIGHT | MOVE); p.event = FadeParticle; } /* Dist and Direction of particle ---------------------------------------------------------*/ function VecRandomize(var *vec, var range) { vec[0] = random(1) - 0.5; vec[1] = random(1) - 0.5; vec[2] = random(1) - 0.5; vec_normalize(vec, random(range)); } /* Particle life -------------------------------*/ function FadeParticle(PARTICLE *p) { p.alpha -= 2 * time_step; if(p.alpha <= 0)p.lifespan = 0; }
Executavel