void Rocket::Draw(int terrain)//манипул¤ции над //ракетой: вычисление и установка местаположени¤ //и т.д. { const float rocketSpeed = 1.1;//скрость перемещени¤ //ракеты const int RockToLive = 3000; if (alive) { //если ракета активизирована, //то показываем еЄ и dbShowObject(num);// производим манипул¤ции над ней dbMoveObject(num, rocketSpeed); Xpos = dbObjectPositionX(num); Ypos = dbObjectPositionY(num); Zpos = dbObjectPositionZ(num); float ground = dbGetTerrainGroundHeight(terrain, Xpos,// переменна¤, хран¤ща¤ высоту Zpos);// поверхности ландшафта if (ground >= Ypos) { // произошло столкновение с поверхностью Die(); } dbPositionObject(num, Xpos,// перемещаем ракету Ypos, Zpos); if ((GetTickCount() - start_time) > RockToLive) Die(); } else dbHideObject(num);//иначе скрываем еЄ }
Tiny_Roid::Tiny_Roid(int load) { obj = TINY_OBJ; dbLoadObject("asteroid//AST_05.X", obj); dbLoadImage( "asteroid//AST2.BMP",obj ); dbTextureObject(obj,obj); SC_SetupObject(obj, 1, 2); SC_AllowObjectScaling(obj); dbScaleObject(obj, 2, 2, 2); //dbSetObjectAmbient ( ASTERIOD3, 0 ); dbHideObject(obj); }
Small_Roid::Small_Roid(int load) { obj = SMALL_OBJ; dbLoadObject("asteroid//AST_04.X", obj); dbLoadImage( "asteroid//AST1.BMP",obj ); dbTextureObject(obj,obj); SC_SetupObject(obj, 1, 2); SC_AllowObjectScaling(obj); dbScaleObject(obj, 2, 3, 3); //dbSetObjectAmbient ( ASTERIOD3, 0 ); dbHideObject(obj); }
Medium_Roid::Medium_Roid(int load) { obj = MEDIUM_OBJ; dbLoadObject("asteroid//AST_02.X", obj); dbLoadImage( "asteroid//AST3.BMP",obj ); dbTextureObject(obj,obj); SC_SetupObject(obj, 1, 2); SC_AllowObjectScaling(obj); dbScaleObject(obj, 3, 3, 5); //dbSetObjectAmbient ( ASTERIOD3, 0 ); dbHideObject(obj); }
Big_Roid::Big_Roid(int load) { obj = BIG_OBJ; dbLoadObject("asteroid//AST_03.X", obj); dbLoadImage( "asteroid//AST5.BMP",obj ); dbTextureObject(obj,obj); SC_SetupObject(obj, 1, 2); SC_AllowObjectScaling(obj); dbScaleObject(obj, 4, 3, 6); //dbSetObjectAmbient ( ASTERIOD3, 0 ); dbHideObject(obj); }
Large_Roid::Large_Roid(int load) { obj = LARGE_OBJ; dbLoadObject("asteroid//AST_01.X", obj); dbLoadImage( "asteroid//AST4.BMP",obj ); dbTextureObject(obj,obj); SC_SetupObject(obj, 1, 2); SC_AllowObjectScaling(obj); dbScaleObject(obj, 5, 4, 7); //dbSetObjectAmbient ( ASTERIOD3, 0 ); dbHideObject(obj); }
Rocket::Rocket(int i, char *filename) { num = i; alive = false;//ракета деактивирована burn = false; Xpos = 0; Ypos = 0; Zpos = 0; Ydeg = 0; start_time = GetTickCount(); if (num == myrocket)//перва¤ ракета { dbLoadObject(filename,num);//загружаем еЄ из файла, } else //так как все ракеты одинаковы, то... { dbCloneObject(num, myrocket); //...остальные копируем с первой } dbHideObject(num);//скрываем dbPositionObject(num, Xpos, Ypos, Zpos); dbYRotateObject(num, Ydeg); }
void M4:: hideGun() { dbHideObject(obj); }