void Image::DrawRotaImageF(float x, float y, double ExRate, double Angle, int GrIndex, bool TransFlag, int div, bool adj, bool corner) { Image_t* img = img_db.QueryImgData(GrIndex); if(div > img->div_num-1) div = img->div_num-1; float draw_x = x; float draw_y = y; if(corner){ int img_w, img_h; GetImageSize(GrIndex, &img_w, &img_h); draw_x+=(float)img_w/2; draw_y+=(float)img_h/2; } if(adj){ draw_x += GAME_X; draw_y += GAME_Y; } int img_w, img_h; GetGraphSize(img->img_han,&img_w,&img_h); int per_w = img_w/img->div_num; SetDrawMode(DX_DRAWMODE_BILINEAR); DrawRectRotaGraphF(draw_x,draw_y,per_w*div,0,per_w,img_h,ExRate,Angle,img->img_han,TransFlag,FALSE); SetDrawMode(DX_DRAWMODE_NEAREST); }
void EnemyBulletUnit::draw(){ DrawRectRotaGraphF(position.x, position.y, image.left, image.top, image.width, image.height, image.scaleRate, image.angle * TWO_PI, image.handle, TRUE, FALSE); #ifdef DRAW_HIT_CIRCLE for(int i = 0, size = hitCircle.size(); i < size; ++i){ DrawCircle(hitCircle[i].position.x, hitCircle[i].position.y, hitCircle[i].radius, GetColor(150, 150, 0), TRUE); } #endif }
void GameMain::drawMarioLove() { for each (OBJInformation var in m_greenMarioLoveList) { if (var.flg == true) { DrawRectRotaGraphF(var.transform.x + var.size_Width / 2, ((SCREEN_SIZE_HEIGHT - LAND_HEIGHT) / 2 - PLAYER_HEIGHT) - var.size_Height + var.size_Height / 2 + var.topplus, (int)var.size_S_transform.x[0], (int)var.size_S_transform.y[0], (int)var.size_E_transform.x[0], (int)var.size_E_transform.y[0], 1.0, PI, p_allpic, true, false);//緑色水道 DrawRectGraphF(var.transform.x, SCREEN_SIZE_HEIGHT - LAND_HEIGHT - ((SCREEN_SIZE_HEIGHT - LAND_HEIGHT) / 2 - PLAYER_HEIGHT) + var.bottomplus, (int)var.size_S_transform.x[0], (int)var.size_S_transform.y[0], (int)var.size_E_transform.x[0], (int)var.size_E_transform.y[0], p_allpic, true, false);//緑色水道 } } }
void PlayerUnit::draw(){ if(collision){ DrawRectRotaGraphF(position.x, position.y, image.left, image.top, image.width, image.height, image.scaleRate, image.angle * TWO_PI, image.handle, TRUE, FALSE); } else { if(drawCnt % 3 < 2){ DrawRectRotaGraphF(position.x, position.y, image.left, image.top, image.width, image.height, image.scaleRate, image.angle * TWO_PI, image.handle, TRUE, FALSE); } ++drawCnt; } DrawCircle(hitCircle[0].position.x, hitCircle[0].position.y, 3, GetColor(255, 255, 255), TRUE); #ifdef DRAW_HIT_CIRCLE for(int i = 0, size = hitCircle.size(); i < size; ++i){ DrawCircle(hitCircle[i].position.x, hitCircle[i].position.y, hitCircle[i].radius, GetColor(0, 0, 150), TRUE); } #endif }
void Player02Supporter::draw(){ DrawRectRotaGraphF(m_position.x, m_position.y, m_image.left, m_image.top, m_image.width, m_image.height, m_image.scaleRate, m_image.angle * TWO_PI, m_image.handle, TRUE, FALSE); }
void PlayerExplosion::draw(){ DrawRectRotaGraphF(position.x, position.y, image.left, image.top, image.width, image.height, image.scaleRate, image.angle, image.handle, TRUE, FALSE); }