検索結果 133 件

by 夢幻ノ月夜
1年前
フォーラム: C言語何でも質問掲示板
トピック: 基底クラスから派生クラスをコピー
返信数: 2
閲覧数: 340

Re: 基底クラスから派生クラスをコピー

全部の派生クラスに書かなきゃダメなんですかねやっぱり…
by 夢幻ノ月夜
1年前
フォーラム: C言語何でも質問掲示板
トピック: 基底クラスから派生クラスをコピー
返信数: 2
閲覧数: 340

基底クラスから派生クラスをコピー

基底クラスの中にCopyメソッドを自作したとき
派生クラスから呼び出されたときに派生クラスがコピーされるようにしたいのですが
どう記述すれば良いのでしょうか
by 夢幻ノ月夜
1年前
フォーラム: C言語何でも質問掲示板
トピック: C++でアクションゲームをつくる場合のクラス設計
返信数: 0
閲覧数: 326

C++でアクションゲームをつくる場合のクラス設計

龍神録2の基礎システムをこねくりまわしてつくろうと思っているのですが
マップチップ1個1個をオブジェクトとして扱ってリストにまとめてオブジェクト化して
GameSceneに持たせる予定ですがこれも使用しても問題ない設計でしょうか
是非ご指導お願いします
by 夢幻ノ月夜
2年前
フォーラム: C言語何でも質問掲示板
トピック: 3D弾幕における自機狙いについて
返信数: 5
閲覧数: 1360

Re: 3D弾幕における自機狙いについて

MoveVec.x = speed * Mathf.Sin (AngleX) * Mathf.Cos (AngleY); MoveVec.y = speed * Mathf.Sin (AngleX) * Mathf.Sin (AngleY); MoveVec.z = speed * Mathf.Cos (AngleX); まず、角度によるベクトルの回転の状況を整理します。(Unityの座標系にあっているかはわかりません) kakudo-kaiten-20170111.png この図のように、夢幻ノ月夜さんの式は、 z軸の正の方向を向いているベクトルをx軸のまわりでz軸からy軸に向かう方向にA...
by 夢幻ノ月夜
2年前
フォーラム: C言語何でも質問掲示板
トピック: 3D弾幕における自機狙いについて
返信数: 5
閲覧数: 1360

3D弾幕における自機狙いについて

Unityを使った3D弾幕を作っているのですが、自機狙い(2点間の角度の取得)が上手くいきません。 速度(Speed)と二つの角度(AngleX,AngleY)を使った球座標で実装しているのですが AngleX = Mathf.Acos(Pos.z / Mathf.Sqrt(Pos.x * Pos.x + Pos.y * Pos.y + Pos.z * Pos.z)); AngleY = Mathf.Acos(Pos.x / (Mathf.Sqrt(Pos.x * Pos.x + Pos.y * Pos.y))); という風にしても上手くいきません。 弾の移動のほうは、 MoveVec.x =...
by 夢幻ノ月夜
2年前
フォーラム: C言語何でも質問掲示板
トピック: 音ゲーにおける音楽との同期
返信数: 1
閲覧数: 721

音ゲーにおける音楽との同期

今回CHUNITHMにはまって音ゲーをつくろうと思っているのですが
音楽と譜面を同期するにはどうしたらいいのでしょうか
Dixqさんの「太鼓の鉄人」のコードを覗いてみたのですが
音楽との同期は何をやっているのかよくわかりませんでした
あれは一体何をやっているのでしょうか
by 夢幻ノ月夜
2年前
フォーラム: C言語何でも質問掲示板
トピック: AVI→PNG書き出し
返信数: 3
閲覧数: 537

Re: AVI→PNG書き出し

usao さんが書きました:
オフトピック
入力AVI次第で圧倒的巨大サイズな画像が吐かれそうな話ですね.

「AVI 連番」とかで検索すればAVIのフレームを連番画像で吐き出すようなソフトは見つかりそうな気がしますので,
連番画像を所望の並びに連結する部分だけを自前でやる…という方法が考えられそうです.
連番出力してforで読み込みます
ありがとうございました
by 夢幻ノ月夜
2年前
フォーラム: C言語何でも質問掲示板
トピック: AVI→PNG書き出し
返信数: 3
閲覧数: 537

AVI→PNG書き出し

AVI動画を1コマずつ並べた一枚のPNG(LoadDivGraphで読み込める形)に書き出せるフリーソフトはないでしょうか?
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: 東方の背景画像
返信数: 5
閲覧数: 855

Re: 東方の背景画像

とんとん さんが書きました:タイトルが合っていない気もしますがこれしか文が考え付きませんでした。

東方風神録の東風谷早苗のスペル背景、朝顔みたいな柄が色が赤や緑や色々に変化するのですが、
どうやったらそのように出来るのでしょうか。
自分は何枚か違う色の画像を用意してそれぞれの透明度をDXライブラリのブレンドモードのALPHAで変化させて
それっぽくしているのですが、完全不透明でなくなる時間が少なからず出来てしまいます。
そうならずに色を変化させる方法はないのでしょうか。

下手な文章ですみません。よろしくおねがいします。
SetDrawBright関数を使ったらそれっぽくならないでしょうかね?
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: そこにあったはずのデータが壊れる
返信数: 4
閲覧数: 844

Re: そこにあったはずのデータが壊れる

hide さんが書きました:プロジェクト中の他のコードが一切動作しない状態にしたうえで、このコードだけを動かしても同様ですか?
VC++に怒られてしまう箇所がDrawRotaGraphの呼び出しのタイミングになってるんですが
これ関係あるんですかね?(引数は不正な値ではないっぽい)
毎回なんかしらの場所のDrawRotaGraphで止められてしまいます
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: そこにあったはずのデータが壊れる
返信数: 4
閲覧数: 844

Re: そこにあったはずのデータが壊れる

shared_ptrを使ってstd::listでオブジェクトを管理しているのですが 敵を追加したら 「初期化に成功しているのに、更新関数→描画関数の間で全てのメンバ変数が不正な値になる」現象が発生してしまいました 更新関数の1行目にブレークポイントを設定して変数の中身を見たら、 想定した通りの値に初期化されていましたが、 描画関数の方で全ての値がわけのわからない数になっていました(e-25やら#DENやらよく分からないレベルの値) なんで更新関数を通しただけなのに全ての変数が壊れてしまうのでしょうか? 何の役にも立たないかもしれませんがクラスの定義と更新関数と描画関数のコード貼っておきます ...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: そこにあったはずのデータが壊れる
返信数: 4
閲覧数: 844

Re: そこにあったはずのデータが壊れる

shared_ptrを使ってstd::listでオブジェクトを管理しているのですが 敵を追加したら 「初期化に成功しているのに、更新関数→描画関数の間で全てのメンバ変数が不正な値になる」現象が発生してしまいました 更新関数の1行目にブレークポイントを設定して変数の中身を見たら、 想定した通りの値に初期化されていましたが、 描画関数の方で全ての値がわけのわからない数になっていました(e-25やら#DENやらよく分からないレベルの値) なんで更新関数を通しただけなのに全ての変数が壊れてしまうのでしょうか? 何の役にも立たないかもしれませんがクラスの定義と更新関数と描画関数のコード貼っておきます ...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: そこにあったはずのデータが壊れる
返信数: 4
閲覧数: 844

そこにあったはずのデータが壊れる

shared_ptrを使ってstd::listでオブジェクトを管理しているのですが 敵を追加したら 「初期化に成功しているのに、更新関数→描画関数の間で全てのメンバ変数が不正な値になる」現象が発生してしまいました 更新関数の1行目にブレークポイントを設定して変数の中身を見たら、 想定した通りの値に初期化されていましたが、 描画関数の方で全ての値がわけのわからない数になっていました(e-25やら#DENやらよく分からないレベルの値) なんで更新関数を通しただけなのに全ての変数が壊れてしまうのでしょうか? 何の役にも立たないかもしれませんがクラスの定義と更新関数と描画関数のコード貼っておきます c...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listのremove_ifにおけるデストラクタの呼び出しタイミング
返信数: 8
閲覧数: 1258

Re: std::listのremove_ifにおけるデストラクタの呼び出しタイミング

void Weapon_NoWeapon::Move(float x,float y){ std::shared_ptr<HPGauge> Hg=(std::shared_ptr<HPGauge>)Object_Manager::GetTask(O_GUAGE,0); if(Hg==NULL)return; Hg->SetHPGauge(this->HP*0.001f); Hg->SetSpecialGuage(0.0f); } 次は要素を参照できなくなってしまいました どうしたら派生クラスに変換できるでしょうか std::shared_ptr<HPGauge> Hg=std::static...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listのremove_ifにおけるデストラクタの呼び出しタイミング
返信数: 8
閲覧数: 1258

Re: std::listのremove_ifにおけるデストラクタの呼び出しタイミング

void Weapon_NoWeapon::Move(float x,float y){ std::shared_ptr<HPGauge> Hg=(std::shared_ptr<HPGauge>)Object_Manager::GetTask(O_GUAGE,0); if(Hg==NULL)return; Hg->SetHPGauge(this->HP*0.001f); Hg->SetSpecialGuage(0.0f); } 次は要素を参照できなくなってしまいました どうしたら派生クラスに変換できるでしょうか std::shared_ptr<HPGauge> Hg=std::static...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listのremove_ifにおけるデストラクタの呼び出しタイミング
返信数: 8
閲覧数: 1258

Re: std::listのremove_ifにおけるデストラクタの呼び出しタイミング

コード:

void Weapon_NoWeapon::Move(float x,float y){
	std::shared_ptr<HPGauge> Hg=(std::shared_ptr<HPGauge>)Object_Manager::GetTask(O_GUAGE,0);
	if(Hg==NULL)return;
	Hg->SetHPGauge(this->HP*0.001f);
	Hg->SetSpecialGuage(0.0f);
}
次は要素を参照できなくなってしまいました
どうしたら派生クラスに変換できるでしょうか
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listのremove_ifにおけるデストラクタの呼び出しタイミング
返信数: 8
閲覧数: 1258

Re: std::listのremove_ifにおけるデストラクタの呼び出しタイミング

CObjectのデストラクタがEnemyExのデストラクタを呼び出してくれることはないのでしょうか… CObjectのデストラクタはいつ呼ばれるのでしょうか。 CObject*が破棄されるのであって,CObjectが破棄されるのではありません。 T ** ptr = new T *; // (a) *ptr = new T; // (b) delete ptr; とやった時,(a)で生成したオブジェクト (T *型) は破棄されますが,(b)で生成したオブジェクト (T型) は破棄されません。 これとまったく同じことです。 じゃあどうしたらまともに動くでしょうか とりあえずshared_pt...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listのremove_ifにおけるデストラクタの呼び出しタイミング
返信数: 8
閲覧数: 1258

Re: std::listのremove_ifにおけるデストラクタの呼び出しタイミング

YuO さんが書きました:
夢幻ノ月夜 さんが書きました:CObjectのデストラクタがEnemyExのデストラクタを呼び出してくれることはないのでしょうか…
CObjectのデストラクタはいつ呼ばれるのでしょうか。
CObject*が破棄されるのであって,CObjectが破棄されるのではありません。

コード:

T ** ptr = new T *; // (a)
*ptr = new T; // (b)

delete ptr;
とやった時,(a)で生成したオブジェクト (T *型) は破棄されますが,(b)で生成したオブジェクト (T型) は破棄されません。
これとまったく同じことです。
じゃあどうしたらまともに動くでしょうか
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listのremove_ifにおけるデストラクタの呼び出しタイミング
返信数: 8
閲覧数: 1258

Re: std::listのremove_ifにおけるデストラクタの呼び出しタイミング

YuO さんが書きました:CObject *のデストラクタは呼ばれているはず (実際には組み込み型なので呼ばれないですが) です。

list<CObject *>はCObject *のリストであって,CObjectのリストではありません。
標準コンテナで継承関係を利用するには,事実上スマートポインタを用いて管理する必要があります。
# list<shared_ptr<CObject>>等。
CObjectのデストラクタがEnemyExのデストラクタを呼び出してくれることはないのでしょうか…
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listのremove_ifにおけるデストラクタの呼び出しタイミング
返信数: 8
閲覧数: 1258

std::listのremove_ifにおけるデストラクタの呼び出しタイミング

基底クラスのCObjectとEnemyExのデストラクタはvirtualにしてあるのですが、 どうやらEnemy_Kikibongoのデストラクタが呼ばれていないようなのです ListはCObject*型になっています class CObject{ protected: bool used; int obj_ID; float priority; public: CObject(int ID,float priority=0.5f); virtual ~CObject(){} virtual void Move()=0; virtual void Draw()=0; bool operator...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: デバックについて
返信数: 2
閲覧数: 587

Re: デバックについて

上級者設定をオンにしてみましょう
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: 何故かアクセス違反が起きる
返信数: 1
閲覧数: 650

Re: 何故かアクセス違反が起きる

なぜか毎回アクセス違反と言われてしまいます 本当にタイミングもデバッグモードで止めても意味がわからないままです 今まで動いていたのに敵を追加した瞬間に動かなくなりました class EnemyEx :public CObject{ protected: int cnt; float x, y; float a, sp; public: EnemyEx(float x,float y,float a,float sp):CObject(O_ENEMY,0.3){ this->x=x; this->y=y; this->a=a; this->sp=sp; this->cnt=0; }; virt...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: 何故かアクセス違反が起きる
返信数: 1
閲覧数: 650

何故かアクセス違反が起きる

なぜか毎回アクセス違反と言われてしまいます 本当にタイミングもデバッグモードで止めても意味がわからないままです 今まで動いていたのに敵を追加した瞬間に動かなくなりました class EnemyEx :public CObject{ protected: int cnt; float x, y; float a, sp; public: EnemyEx(float x,float y,float a,float sp):CObject(O_ENEMY,0.3){ this->x=x; this->y=y; this->a=a; this->sp=sp; this->cnt=0; }; virtu...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: 制約付き誘導弾
返信数: 2
閲覧数: 762

Re: 制約付き誘導弾

みけCAT さんが書きました:this->Areaが非負の有効な実数の場合は13行目と15行目でsaの符号とthis->aに足す値の符号の関係が逆になっており、
this->Areaが負の有効な実数であり、saが有効な実数の場合は12行目の条件式が真になることは無さそうです。
これは意図した仕様ですか?
(ここでの「有効な実数」 = 「NaN、Infなどの特殊な値でない浮動小数点数」)
saの符号とthis->aに足す値の符号が逆になっているのはミスです
this->Areaはコンストラクタの中で絶対値にしています
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: 制約付き誘導弾
返信数: 2
閲覧数: 762

制約付き誘導弾

最大旋回速度付きの誘導弾をつくろうとしているのですが、 plが自機の情報(ポインタ) Areaが最大旋回速度 sp+=Acは加速させてるだけです 最大旋回速度が反映されていないようなのですが if文の中身が間違っていたりするのでしょうか void Bullet_Homing::Move(){ BulletEx::Move(); BulletEx::Hit(); Player *pl=(Player*)Object_Manager::GetTask(O_PLAYER,0); if(pl==NULL)return; float px=pl->GetX() - this->x; float py=p...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listの優先順位の続き
返信数: 10
閲覧数: 1488

Re: std::listの優先順位の続き

解決しちゃったので見てないかもしれませんが。 add_taskは以下のようにできますね。 わざわざempty()とか調べなくともよいです。 #include <iostream> #include <list> class CObject { public: int priority = 0; CObject() { priority = 0; } CObject(int prio) { priority = prio; } bool operator <(const CObject &obj)const{ return priority < obj.priority; } }; std::...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listの優先順位の続き
返信数: 10
閲覧数: 1488

Re: std::listの優先順位の続き

またコンパイラの設定したら3000個でFPS60出たので解決です
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listの優先順位の続き
返信数: 10
閲覧数: 1488

Re: std::listの優先順位の続き

・ここ以外にもソースを変更していいて、それが原因の可能性はないか ・リストにどれくらいオブジェクトを追加しているか ・「物凄く重く」とか具体的にどの程度か(FPS表示しているなら1桁しか出ないレベルなのか、45程度は出るのか) ・追加するオブジェクトの優先度はどうなっているのか(例えば弾幕の弾が追加していたら、追加するたびにリスト末尾まで毎回判定してたら重くなりそうです) このあたりの情報が無いと推測回答しか出来ないので的確な回答をするのは難しいと思います。 他の部分の改変はしていません リストには1000個入ってないはずです FPS28くらいになっていました→58まで回復 先頭から判断して...
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listの優先順位の続き
返信数: 10
閲覧数: 1488

Re: std::listの優先順位の続き

コンパイル設定を変えてoperator >をinlineにしてみたらFPS58まで改善しました
by 夢幻ノ月夜
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listの優先順位の続き
返信数: 10
閲覧数: 1488

std::listの優先順位の続き

void Object_Manager::AddTask(CObject *obj){ if(List.empty()){ List.push_front(obj); return; } for(auto itr=List.begin();;){ if(itr==List.end()){ List.push_back(obj); return; }else if((*itr)->operator>(obj)){ itr=List.insert(itr,obj); return; } itr++; } } こうすることで最終的に優先順位が反映されたのですが、何故か物凄く動作が重くなってしまいま...

詳細検索ページへ移動する