質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

DXライブラリ

DXライブラリとは、DirectXを使ったWindowsソフトの開発に必ず付いて回るDirectXやWindows関連のプログラムを使い易くまとめた形で利用できるようにしたC++言語用のゲームライブラリです。

Q&A

解決済

1回答

1353閲覧

写真のような画面の出力DxLidで出力をする方法

Tger

総合スコア2

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

DXライブラリ

DXライブラリとは、DirectXを使ったWindowsソフトの開発に必ず付いて回るDirectXやWindows関連のプログラムを使い易くまとめた形で利用できるようにしたC++言語用のゲームライブラリです。

0グッド

0クリップ

投稿2021/10/31 06:51

写真の青いラインの出力方法

写真のような値によって円の輪郭がカラーで塗られるプログラムをDxLidで作りたいのですが、プログラムの方法が分からなくて…
なるべくほかのプログラムに合わせて使えそうなプログラムを教えてください。

該当のソースコード

c++,DxLib

試したこと

曲線のプログラムをネットで調べたら、こんなのが出ました。
#include "DxLib.h"
#include <math.h>

// DrawLine を行う数
#define LINE_NUM (256)

// 描画する sin の角度の範囲
#define ANGLE_AREA (DX_PI * 6.0f)

// 一回の DrawLine で描画する角度の範囲
#define UNIT_ANGLE (ANGLE_AREA / LINE_NUM)

// 描画範囲の幅と高さ
#define DRAW_W (640)
#define DRAW_H (200)

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
float angle;
float Sin1, Sin2;

// ウインドウモードで起動 ChangeWindowMode(TRUE); // DXライブラリの初期化 if (DxLib_Init() < 0) return -1; // 描画先を裏画面にする SetDrawScreen(DX_SCREEN_BACK); // サインカーブの描画開始角度を初期化 angle = 0.0f; // メインループ while (ProcessMessage() == 0) { // 画面のクリア ClearDrawScreen(); // サインカーブの描画開始角度を更新 angle += 0.1f; // サインカーブの描画 Sin1 = (float)sin(angle); for (int i = 0; i < LINE_NUM; i++) { Sin2 = (float)sin(angle + (i + 1) * UNIT_ANGLE); DrawLine( i * DRAW_W / LINE_NUM, Sin1 * DRAW_H + 240, (i + 1) * DRAW_W / LINE_NUM, Sin2 * DRAW_H + 240, GetColor(255, 255, 255) ); Sin1 = Sin2; } // 裏画面の内容を表画面に反映 ScreenFlip(); } // DXライブラリの後始末 DxLib_End(); // ソフトの終了 return 0;

}

でも、これは、自分の求めているものではなくて、困っています。

補足情報(FW/ツールのバージョンなど)

プログラムしているソフトは、Microsoft Visual Studio RC 2022です。
バージョンは、17.0.0 RC3(最新バージョン)です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

試しては無いですが DxLib に DrawCircleGauge() という円弧を描く関数が用意されているようです。(ただし隠し関数とのこと)
http://ktstg.blog.shinobi.jp/Entry/826/

背景に円弧を描き、手前に円を描けばインジケータのような表現が出来るのではないでしょうか。

<手順>

  1. 灰色で円を描く

イメージ説明
2. 円弧を描く
イメージ説明
3. 白色で円を描く
イメージ説明

<参考>
■ 扇形の描画について
https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=4119

投稿2021/10/31 07:05

編集2021/10/31 07:43
cx20

総合スコア4648

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tger

2021/10/31 07:57

ありがとうございます! このプログラムを使って、少々円の画像を改変しつつ、ゲーム制作に生かしていきたいと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問