EXPLOSIO.CPP
上传用户:sycq158
上传日期:2008-10-22
资源大小:15361k
文件大小:1k
源码类别:

游戏

开发平台:

Visual C++

  1. #include "ray.h"
  2. #include "globals.h"
  3. #include "rayspr.h"
  4. #include "sprfunc.h"
  5. #include "sfvars.h"
  6. #include "sound.h"
  7. long explo_sound_id;
  8. void Explosion_Create(pobject explo_obj, long extra_data_offset);
  9. void Explosion_Update(pobject explo_obj, long update_num);
  10. void Init_Explosion(func_index index) {
  11.    explo_sound_id=Load_Sound("explo.wav");
  12.    update_funcs[index]=Explosion_Update;
  13.    load_extra_funcs[index]=Explosion_Create;
  14. }
  15. void Explosion_Create(pobject explo_obj, long extra_data_offset)
  16. {
  17.    PSHORT new_counter=(PSHORT)NewPtr(sizeof(SHORT));
  18.    *(new_counter)=0;
  19.    explo_obj->extra_data=(pdata)new_counter;
  20.    Play_Sound(explo_sound_id);
  21. }
  22. void Explosion_Update(pobject explo_obj, long update_num)
  23. {
  24.    PSHORT cur_time=(PSHORT)explo_obj->extra_data;
  25.    if (++(*cur_time)>=explo_obj->type->stats.base_speed) {
  26.       (*cur_time)=0;
  27.        if (++explo_obj->cur_frame==
  28.           wall[explo_obj->type->frames[0]].num_image) {
  29.              Kill_Object(explo_obj);
  30.        }
  31.    }
  32. }