数値に対応した描画について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
souji

数値に対応した描画について

#1

投稿記事 by souji » 18年前

計算値に対応して、針が動く(速度に対応したスピ-ドメーター)を描画したいのですが、
この場合、どのようなプログラムを組めばよいのでしょうか?

ゲームプログラミンギの館のサンプルプログラムを参考にして、針を動かすことはできたのですが、ただ時間経過にあわせて針が回転する『時計』しか作ることができませんでした。
どうかアドバイスお願いします。


#include "DxLib.h"
#define PI 3.1415926

int image0,image1,image2,count=0;
char Key[256];

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1;
SetDrawScreen( DX_SCREEN_BACK );

image0 = LoadGraph( "計器.dds" ) ;//計器盤の画像を読み込む
image1 = LoadGraph( "長針.dds" ) ;//速度計の長針の画像を読み込む
image2 = LoadGraph( "短針.dds" ) ;//速度計の短針の画像を読み込む



while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && Key[KEY_INPUT_ESCAPE]==0){

LoadGraphScreen( 0 , 0 , "計器.dds" , FALSE ) ;//計器盤を描画
DrawRotaGraph2 ( 155 , 155 , 13 , 97 , 1.0 , (double)count*0.1, image1 , TRUE) ;//長針を回転描画
DrawRotaGraph2 ( 155 , 155 , 11.5 , 56 , 1.0 , (double)count*0.01 , image2 , TRUE) ;//短針を回転描画
DrawCircle ( 155 , 155 , 2 , GetColor(255,0,0) ) ;//中心点を描画

count++;
ScreenFlip();
}
DxLib_End();
return 0;
}

バグ

Re:数値に対応した描画について

#2

投稿記事 by バグ » 18年前

例えば、半円状の盤に速度を表示するような形のメーターならば…

針の角度=180×(現在速度÷最高速度)

で求める事ができますね。

時計の針を表示させる事ができるならば、それほど難しくはないと思いますよ。がんばってください♪

閉鎖

“C言語何でも質問掲示板” へ戻る