ページ 1 / 1
弾幕の作り方
Posted: 2008年8月18日(月) 21:10
by situmon
あの、中学生1年生でもわかるような、
シューティング・シューティングの弾幕の作り方はないでしょうか。
シューティングゲームの館は龍神録プログラミングの館より簡単ということですが
確かにプログラムを実行して弾幕が表示されるのはわかりましたが、
いくら説明を読んでも難しすぎて、どうしても壁にぶつかってしまいます。
どうすれば弾幕に使う弾の画像を変えられるのか?
どうすれば弾幕を自分で作れるようになるのか?
どうすればオリジナリティあふれる作品がつくれるか?
いろいろあります。
弾幕などで
Posted: 2008年8月18日(月) 21:11
by situmon
管理人さんのようなすばらしい弾幕が作れるように
どれくらいかかりますか?
Re:弾幕などで
Posted: 2008年8月18日(月) 23:09
by array
参考までに私の話を・・・・。
中学生でC言語の知識があるとは凄く驚きなのですが、代替は理解してるのでしょうか。基礎がないと、いきなりプログラムだけみても意味はさっぱりだと思います。
ちなみに私は、型宣言、porintf()などの基本的な関数、if文、for文、while文、ポインタ。程度しか知りませんでした。
そしてシューティングの館で見ててさらに必要だなと思ったのは、switch()、構造体。などでしょうか
弾幕作成は、1章~20章までを順に・・ある程度でも理解しないと難しいんじゃないかと思います。
敵と弾幕情報が親密な関係にあるので。20章まで理解できれば、後の22章以降は弾幕計算のサンプル程度だと思います。
弾幕の移動計算もsinやcosを使うのが多いいみたいなので、そういうのも章を読みながら理解していきました。私は全章を読み終えるのに、1カ月以上かかったんじゃないかと思います。
>どうすれば弾幕に使う弾の画像を変えられるのか?
EnemyShot.img=1;
この数字で
img_enemy_shot[○] に読み込んだ画像に変えれます。
>どうすれば弾幕を自分で作れるようになるのか?
とりあえず、弾幕サンプル動作を理解し、その軌道でなにができそうか考えるとか・・・w
>どうすればオリジナリティあふれる作品がつくれるか?
これは自分にどれだけアイディアがあるかで決まるんじゃないでしょうか。&それに対応できる知識とか?
>管理人さんのようなすばらしい弾幕が作れるように
>どれくらいかかりますか?
たしか四聖龍神録が製作期間6カ月だったような・・・四聖龍神録Plusは8ヶ月みたいですね・・・今みたら体験版の製作期間は1ヶ月・・・参考になるんじゃないでしょうか
プログラムを見る上での私が思うコツは1行ずつ動作を理解することだと思うので、少しずつやっていかないと身が持たないかと、私はいずれ弾幕作成ができるようになれば良いなぁ~程度で頑張ってました。ちなみに私は3、4ヶ月程度で現在にいたります。
Re:弾幕などで
Posted: 2008年8月18日(月) 23:20
by array
それとついでに宣伝・・・(笑)
最近、深弾幕結界に挑戦しました。
[nico]http://www.nicovideo.jp/watch/sm4206874[/nico]
シューティングの館&龍神録の館でここまでできました^^
管理人さんはもっと的確に似せてますけどね。
私のペースでシューティング知識0から約3ヶ月なので頑張ってみてはどうでしょうか。
あと、弾幕作成についてですが、弾幕作成における考え方は龍神録の方が簡単かつ応用もしやすいと思います。
Re:弾幕などで
Posted: 2008年8月19日(火) 00:03
by 管理人
ここのHPの内容はC言語の基本的な知識があることを前提に紹介しています。
ですので、もしC言語についてよくご存知でなければまず基本をおさえる事をお勧めします。
「C言語 入門」で検索して出てくるようなサイトの内容を一通り読んで理解する
↓
ゲームプログラミングの館
↓
自分で簡単なゲームをいくつか作ってみる
↓
龍神録プログラミングの館
という感じで進んでいくといいかもしれません。
龍神録プログラミングの館は読まなくてもいいと思います。
いくつも自分でゲームを作っていく中でゲームの作り方はわかっていくと思いますし。
どれ位で作れるようになるかという事は恐らく誰もが気になることでしょうけど、
こればっかりはどれ位やる気があるかでものすごく違うのでわかりません。
メンドクサイなと思いながらやれば何年たってもろくなものは作れないでしょうし、
面白い!と思って夢中でやれば1ヶ月もすれば自分なりのゲームを作っていけることでしょう。
とりあえず、無理に難しいものを作ろうと背伸びしないことが継続の秘訣だと思います。
難しい・・わからない・・となると、面白くないと感じる事に繋がると思います。
少しずつでいいから自分の思い通りのプログラムが書けるようになれれば、やる気に繋がる事でしょう。
ただ、シューティングには最低限の数学の知識が必要です。
特にベクトルを使った計算や物理的計算などは中学生だと難しいと思いますから、
龍神録プログラミングの館のサンプルはわかりにくいかもしれません。
しかし、それを使わなければ作れないわけじゃありません。
sin,cosさえ意味がわかればシューティングは作れます。
今、中1でどこまで習うか知らないのですが、
sin,cosと後円周率とラジアンの関係がわかってないとキツイかもしれません。
その辺次の投稿で簡単に説明してみます。
Re:弾幕などで
Posted: 2008年8月19日(火) 00:14
by 管理人
あれ・・今中学校でsin,cosって習わないんですか?( ̄  ̄;)
私の時もそうだったっけ・・・・・?
http://www.geisya.or.jp/~mwm48961/math/index_m.htm
ここ見てみると、ピタゴラスの定理すら中3で習うよう・・。
う~ん、中1の数学の知識がどの程度なのかよくわからないのですが、
少しハードルは高いかもしれませんね。
でも基本的な理論さえわかればいいので、別に難関高校の受験問題がとけるようになるほど
理解する必要もないですからそんなに構える事もないかもしれません。
どりあえず、突然シューティングを作ろうとせず、
りんごがなっている木からリンゴが落ちてきて、下でカゴを持っているおじいさんを左右に動かして操作して
落ちてくるリンゴを入れる・・
みたいな簡単なゲームを作ってみてはどうでしょう?
そういうゲームをしたことが無いとイメージ掴みにくいかな^^;
Re:弾幕などで
Posted: 2008年8月19日(火) 00:55
by 管理人
上で言っていたリンゴの落ちゲー(?)ですが、こんな感じで作ってみました。
プログラムコードも載せておきます。
http://dixq.net/zip/oti_ge.zip
キーボードの十字キーでキャラを操作し、カゴにリンゴを入れて下さい。
こんな感じのゲームをいくつも作っていってみてはどうでしょう?
作っていく中で
「これってどうやったら実現できるかな?」
と疑問に思うことが出てくると思います。
その時その都度新しい事を学んでいけばそれでいいと思います。
※このサンプルにはsin,cosが使われていますが、下に落とすだけならy座標を増やすだけでいいので、省けます。
Re:弾幕などで
Posted: 2008年8月19日(火) 17:24
by めいらる
私が中学生の頃はsinとか出てきたはず…といってももう6年前になりますが…^^;
私はいきなりシューティングを作り始めて挫折しかけたタイプですwwその時はHSPでしたが
Cの基礎さえある程度理解できればあとはソースを一行ずつ理解しながら読んでみてちょっと値をいじってどのように変化するかをためしてみたりするのも楽しいですよ^^
管理人さん>
その背景はまさかww
Re:弾幕などで
Posted: 2008年8月19日(火) 19:14
by 管理人
>といってももう6年前になりますが…^^;
そんなこと言ったら私なんてもう10年以上前・・。
ウソー、信じられない( ̄  ̄;
ちと、sin,cos知らない人の為に館に簡単な数学講座作ってもいいかもしれませんね。
そういえば物理講座作ろうとして1章しか作ってない^^;
>その背景はまさかww
めいらるさんはご存知ですねw
昨日ちょうど作って遊んでた背景なんですよ。
適当な背景が無かったんで、ふざけてこれにしてみましたが、
誰からも突込みが入らなかったらどうしようかと^^;
Re:弾幕などで
Posted: 2008年8月19日(火) 19:53
by situmon
sin.cosとは三角関数、サイン、コサイン、タンジェントのことですね。
あとすいません、もう一度弾の画像の変え方を教えてください。
後その背景とは・・・?
Re:弾幕などで
Posted: 2008年8月19日(火) 20:06
by situmon
あっ!背景はわかりました。
感動の3Dを!
でもこんなゲーム作ってもらってありがとうございました。
Re:弾幕などで
Posted: 2008年8月19日(火) 20:11
by 管理人
サイン、コサインの理論はご存知ですか?
例えば上図の斜辺の長さ1とすると、赤線の長さはいくらかわかりますか?
そしてこれが44°だといくらになりますか?
シューティングで使う数学はその程度です。
弾の画像があるフォルダに、変更したい画像をいれ、
LoadGraphまたはLoadDivGraphのファイル名を変更して下さい。
サンプルでいえば
LoadDivGraph( "img/bullet.png" , 1 , 1 , 1 , 30 , 29 , img_bullet ) ;
ここです。この場合画像サイズの変更も必要です。
この関数の使い方がわからない場合は本家リファレンスで確認して下さい。
Re:弾幕などで
Posted: 2008年8月19日(火) 20:12
by tk-xleader
うーん、sin,cos,tanは習わないです。高1の後半(数Ⅰ(ローマ数字1))で習います。
全くベクトルや行列が分からない…、このままでは3Dなんて無理だ…
Re:弾幕などで
Posted: 2008年8月19日(火) 20:13
by 管理人
昨日ブログに背景を作っているという事を書いたんですが、その絵なんですよね。
RemicalSoftというのはうちのサークルの名前なんですm(_ _)m
Re:弾幕などで
Posted: 2008年8月19日(火) 20:16
by めいらる
私は数学をほとんど理解せずに公式に当てはめて軌道計算をやってますww
中、高と…その…数学を…サボってましたので…^^;
Re:弾幕などで
Posted: 2008年8月19日(火) 20:27
by situmon
シューティングの館のサンプルの場合、
弾幕パターンによって玉を変えるにはどうすればいいですか?
Re:弾幕などで
Posted: 2008年8月19日(火) 20:35
by 管理人
enemy_shot.cpp内のEnemyShotPattern**が弾幕計算関数です。
その中のEnemyShot[*].imgが弾の画像です。
登録された弾はEnemyShotCalcDisp関数で描画しています。
Re:弾幕などで
Posted: 2008年8月19日(火) 20:38
by 管理人
>tkさん
今習わないんですかぁ・・。
ゆとり教育とかなんとかで、教育内容下がって来てるんですかね?
でも行列計算は大学に入るまで何してるのか理解出来ませんでしたよ^^;
>めいらるさん
関数の使い方さえわかれば、数学的な理論とかはよく知らなくてもなんとかなりますよねb
加速を使って綺麗に曲線を描いたり、数学的な制御をしない限りsin,cos,atan2だけで何とか凌げますよねw
Re:弾幕などで
Posted: 2008年8月19日(火) 20:50
by situmon
あの、申し訳ないのですが
龍神録の1面のような(できればもっとやさしい)プログラムコードを
いただけないでしょうか?
Re:弾幕などで
Posted: 2008年8月19日(火) 20:55
by 管理人
今までお聞きになった事は、一つずつちゃんと解決していっているのでしょうか?
後、龍神録の1面のようなプログラムコードは既に龍神録プログラミングの館にて配布していますのでご覧下さい。
Re:弾幕などで
Posted: 2008年8月19日(火) 20:59
by situmon
sinなどは学習サイトですこしわかりました。
あと
>enemy_shot.cpp内のEnemyShotPattern**が弾幕計算関数です。
その中のEnemyShot[*].imgが弾の画像です。
登録された弾はEnemyShotCalcDisp関数で描画しています。
はやはりわかりません。
あとなぜ龍神録の1面がほしいのかとういうと
どんどん敵が出てきて最後のボスというステージにも挑戦したいのですが。
Re:弾幕の作り方
Posted: 2008年8月19日(火) 21:26
by バグ
三角関数を勉強したいならば、アナログ時計を画面に表示するプログラムを作るといいかもしれませんよ(^-^)
小さなことからコツコツと…が一番の近道だったりします。
Re:弾幕の作り方
Posted: 2008年8月19日(火) 21:49
by 管理人
まず一つずつ回答をもらえるでしょうか。
(1) わからないということですが、何がわからないですか?
(2) プロジェクトはダウンロードしてありますか?
(3) C言語の基本的な部分は理解していますか?
(4) コンパイラは何を使っていますか?
(5) ゲームプログラミングの経験はありますか?
また、ステージ作りはどこにも紹介していませんが、
一通りのことをちゃんと理解しないと難しいと思います。
もしゲーム製作の経験がなければ突然大きなゲームを作ろうとしない方がいいと思います。
バグさんも仰っているように、小さなものを沢山作ってまずはなれることが大事かと思います。
>バグさん
そういえばOpenGLの練習をする為に最初に作ってみたのがアナログ時計でした^^
Re:弾幕の作り方
Posted: 2008年8月19日(火) 22:02
by array
弾幕の画像を変えたそうだったので、既存の弾画像で良いなら
32. ボスの弾幕1
のプログラムを見てください。
void EnemyShotPattern12(int i){
if(EnemyShot.counter==0){
EnemyShot.Enx[0]=EnemyShot.mem_ex;
EnemyShot.Eny[0]=EnemyShot.mem_ey;
for(int j=0;j<6;j++){
EnemyShot.EnemyShots[j].x=EnemyShot.Enx[0];
EnemyShot.EnemyShots[j].y=EnemyShot.Eny[0];
EnemyShot.EnemyShots[j].flag=1;
if(j==0)
EnemyShot[i].EnemyShots[j].angle=atan2(EnemyShot[i].mem_py-EnemyShot[i].mem_ey,EnemyShot[i].mem_px-EnemyShot[i].mem_ex);
else
EnemyShot[i].EnemyShots[j].angle = EnemyShot[i].EnemyShots[0].angle+2.0f*PI*(double)j/6.0f;
}
PlaySoundMem(sound_enemy_shot[0],DX_PLAYTYPE_BACK);
}
if(EnemyShot[i].counter==80){
double ang[6];
EnemyShot[i].img=1;
for(int s=0;s<6;s++){
// 以下略 //
-------------------------------------------
この赤文字の
EnemyShot[i].img=1;
の数値を変えてやれば良いです。
EnemyShot[i].img=2;
とすれば画像が変わります。
-------------------------------------------
そして画像を変えるタイミング(時間)ですが
EnemyShot[i].counter==80
が時間を表しています。
なので、弾発射から、約1秒後(counter=60が大体1秒になるので)に1の画像を変える、という事です。
よって、
if(EnemyShot[i].counter==80){
// 略 //←ここ
if(EnemyShot[i].counter==160){
//略の間に
if(EnemyShot[i].counter==120)
EnemyShot[i].img=0;
を追加してあげれば、発射から2秒後に◎画像に変わります。
-------------------------------------------
にしても、中学1年でsinが分かるとは凄いです。私が中1の1学期でやってた事は100×(-1)=-100だよ~とかでしたけどw 大学にいる今でも三角関数って言われると( ̄□ ̄)?って状態になります
Re:弾幕の作り方
Posted: 2008年8月19日(火) 22:06
by lbfuvab
中学でラジアンとかに取り組めたら末恐ろしいですね。
私は今でも三角関数とか苦手なのでLAMEとかffmpegとかのフロントエンド作って遊んでます。(せいぜい文字列の処理)
# ffmpeg複雑すぎる・・・
Re:弾幕の作り方
Posted: 2008年8月19日(火) 22:21
by situmon
もともとは専用ソフトでシューティングゲームを作っていました。
まず、管理人さんの作ったりんご落としゲームなんかの系統を作ってみようとか思います。
できたら、メールにて送りますので試しにやっていただけませんか?
Re:弾幕の作り方
Posted: 2008年8月19日(火) 22:39
by situmon
>(1) わからないということですが、何がわからないですか?
(2) プロジェクトはダウンロードしてありますか?
(3) C言語の基本的な部分は理解していますか?
(4) コンパイラは何を使っていますか?
(5) ゲームプログラミングの経験はありますか?
プログラミングはほぼないといっていいです。
でもノベルゲーム作成ソフトで
多少スクリプトはありました。
http://dixq.net/g/
の24までは読んで実行してみました。
ですがそれを自分の思っていることに当てはめることができないのです。
コンパイラとは
DXライブラリのことでしょうか?
Re:弾幕の作り方
Posted: 2008年8月19日(火) 22:52
by 管理人
まず、(1)~(5)のうち4,5だけ回答頂けたと思いますが、後はどうですか?
24章までの内容は読んだだけでなく、理解していますか?
似たような仕様を作って欲しいといわれたら作れますか?
例えば24章を拡張して、同時に敵をウロウロさせて欲しいといわれたら出来ますか?
もし読んだだけでしたら、
ゲームプログラミングの館は読むだけでなく、一つ一つ習得していって下さい。
自分で似たような仕様を考え、自分でプログラムを書いて練習して下さい。
恐らく数学の教科書を眺めただけで練習問題が全て解けるようにはならないであろうことと同じように、
プログラミングも演習が大事です。
>できたら、メールにて送りますので試しにやっていただけませんか?
いいですよ。
それか、アップローダかどこかにアップロードして、
ここにリンク貼ってもらえたらみんなで見れると思いますがどうでしょうか。
Re:弾幕の作り方
Posted: 2008年8月20日(水) 21:54
by situmon
>sin,cosさえ意味がわかればシューティングは作れます。
今、中1でどこまで習うか知らないのですが、
sin,cosと後円周率とラジアンの関係がわかってないとキツイかもしれません。
いま、しっかりと勉強中ですがルートなどが出てくるので少し難しいところもあるかもしれません。
>(1) わからないということですが、何がわからないですか?
(2) プロジェクトはダウンロードしてありますか?
(3) C言語の基本的な部分は理解していますか?
わからないのは、いろいろありますがまず、簡単なものから作ることにしましたので、少しは大丈夫かと思います。
すいません、プロジェクトのダウンロードとは?
Microsoft Visual C++ 2008 Express Edition
のことでしょうか?
それなら製品登録もしました。
基本的な部分はもういちどゲームプログラミングの館とシューティングの館で
確認中です。
いろいろ答えてくれた皆様どうもありがとうございます。
まだいろいろ疑問や問題があるので質問するかもしれないのでよろしくお願いします。
Re:弾幕の作り方
Posted: 2008年8月20日(水) 22:17
by situmon
落ちげー?についてなのですが、まずゲームプログラミングの館のプログラムコード
を改造して公開されたりんごゲームのようなものを作れるか調べたいのですが
#include "DxLib.h"
typedef struct{
int x,y,img,muki,walking_flag;
}ch_t;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
int image[16];
char Key[256];
ch_t ch;
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理
ch.x =320;
ch.y =160;
ch.walking_flag=0;
ch.muki=3;
SetDrawScreen( DX_SCREEN_BACK ) ; //描画先を裏画面に設定
LoadDivGraph( "char.png" , 1 , 1 , 1 , 64 , 32 , image ) ;//画像を分割してimage配列に保存
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
//↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されると終了
if(ch.x%32==0 && ch.y%32==0){ //座標が32で割り切れたら入力可能
ch.walking_flag=1; //歩くフラグを立てる。
if ( Key[ KEY_INPUT_LEFT ] == 1 ) //左ボタンが押されたら
ch.muki=1; //左向きフラグを立てる
else if( Key[ KEY_INPUT_RIGHT] == 1 ) //右ボタンが押されたら
ch.muki=2; //右向きフラグを立てる
else //何のボタンも押されてなかったら
ch.walking_flag=0; //歩かないフラグを立てる
}
if(ch.walking_flag==1){ //歩くフラグが立っていたら
if (ch.muki==1) //左向きならch.x座標を減らす
ch.x--;
else if(ch.muki==3) //右向きならch.x座標を増やす
ch.x++;
}
ch.img=image[(ch.x%32+ch.y%32)/8 + ch.muki*4]; //画像をセット
DrawGraph( ch.x , ch.y , ch.img , TRUE ) ;//画像を描画
ScreenFlip();
}
DxLib_End();
return 0;
}
で64,32画像が表示されません。
添付画像のとおり。
Re:弾幕の作り方
Posted: 2008年8月20日(水) 23:23
by 管理人
>いま、しっかりと勉強中ですがルートなどが出てくるので少し難しいところもあるかもしれません。
そうですね~。ルートは直接利用する機会は少ないので、まぁわからなくても大丈夫かもしれませんが、
やはり基本なので、知っているのと知らないのでは大きく違うかもしれませんね。
>すいません、プロジェクトのダウンロードとは?
コンパイルする時は、そのプロジェクトを作りますよね。
今無事コンパイルできていると言う事は「プロジェクト」というものを作っていらっしゃるはずです。
シューティングゲームの館のメニュー項目で「プロジェクトのダウンロード」をして、
プロジェクトをお開きになったのではないかと思いますが、それの事です。
Re:弾幕の作り方
Posted: 2008年8月20日(水) 23:32
by 管理人
>LoadDivGraph( "char.png" , 1 , 1 , 1 , 64 , 32 , image ) ;//画像を分割してimage配列に保存
32x64なので、ここが反対ですね。
>ch.img=image[(ch.x%32+ch.y%32)/8 + ch.muki*4]; //画像をセット
配列は理解していますか?
今画像が一つしかないのに、無い画像番号をさしています。
これは16種類画像があって、それを歩くモーションにあわせて画像を変更するための処理です。
今は要素番号0しか使えません。
>if ( Key[ KEY_INPUT_LEFT ] == 1 ) //左ボタンが押されたら
> ch.muki=1; //左向きフラグを立てる
>else if( Key[ KEY_INPUT_RIGHT] == 1 ) //右ボタンが押されたら
> ch.muki=2; //右向きフラグを立てる
向きは左を1,右を2としているのに
> if (ch.muki==1) //左向きならch.x座標を減らす
> ch.x--;
> else if(ch.muki==3) //右向きならch.x座標を増やす
> ch.x++;
そのように処理されていません。
そして、今回は一区間ずつ歩かせる必要はないので、
私がかいたサンプルのようにキーが入力されていたらそのままそちらに移動させるだけでいいと思います。
Re:弾幕の作り方
Posted: 2008年8月21日(木) 11:40
by tk-xleader
大まかに数学の学校の進度を図示すると…
中1
・正負の数、絶対値
・文字式
・一次方程式
・比例式
・図形(対称,作図,円と接線,図形の体積,3次元における直線の関係,など…)
中2
・単項文字式の加減乗除
・文字式による説明(証明の基礎)
・2元1次連立方程式
・1次関数
・図形(三角形や平行四辺形などに関する諸定理,三角形の合同,図形の証明問題,など…)
中3
・多項式の展開,2次式の因数分解
・実数解の2次方程式
・2次関数(2次の項のみ)
・図形(三角形の相似,平行線と線分,中点連結定理,三平方の定理,など…)
といったものでしょうか。プログラミングでは、数学の問題を解く力はあまり必要ないので、概念をどれだけ知ってるかがポイントです。
Re:弾幕の作り方
Posted: 2008年8月21日(木) 12:56
by 通りすがり
ここのゲームプログラミング講座のSTGの弾のスプライトの表示の仕方は
素人のやり方だからマネしない方がいいぞ。
Re:弾幕の作り方
Posted: 2008年8月21日(木) 13:48
by レク
>通りすがりさん
いつも読んでるだけなんですが今回初めて書き込みます。
私はこのサイトに非常に感謝しています。
こんなにも解りやすく、丁寧に、惜しみなく解説してくれるサイトは他に無いと思います。
マネしない方がいいなんて、その言い方はあんまりかと。
もしそう思うなら、もっと参考になると思うサイトを提示すべきです。
または、参考サイトを知らないなら自分が最も適切だと思うアルゴリズムを提示したらどうですか?
批判だけなら誰でも出来ます。あなたの書き込みは多くの人を不快にさせます。
それに、丁寧語使えないんでしょうか?
Re:弾幕の作り方
Posted: 2008年8月21日(木) 15:17
by 管理人
>tkさん
なるほど。
もう昔のことなので覚えてないですが、私の時には一次関数を中2では習わなかった気が・・。
って事はy=xのグラフの傾きは角度45°だってことは中1ではわからないんですかね?
そうなってくると中1では少し難しいですね。
・・・あ!14歳からのワクワクシューティング・・なんとかって本がありますが、
なんで14歳からなのかと思っていましたが、中2を示しているんですね。
なるほど、そういう意味なのか・・。
>素人のやり方
確かに私はプロでもなければ、熟練者でもないので、適切な方法ではないと思います。
ただ、出来るだけわかり易く解説したいなと思っているので、
あえて非効率な書き方になっている部分もあります。
どうしても効率的、汎用的、拡張的であることと、解り易いことは反比例してしまいがちなのですが
少ない知識の中でではありますが出来るだけ適切な方法を保ちながら最大限わかりやすいことを重視しています。
もし、もっと適切な方法をご存知でしたらアドバイス頂けると幸いです。
Re:弾幕の作り方
Posted: 2008年8月21日(木) 15:26
by tk-xleader
>って事はy=xのグラフの傾きは角度45°だってことは中1ではわからないんですかね?
うーん、まぁy=axのグラフの傾きがArctan(a)になる、ということは分からないと思いますが、y=xのグラフの傾きの角度ならば見た目でも分かるとは思いますが…
>なんで14歳からなのかと思っていましたが、中2を示しているんですね。
>なるほど、そういう意味なのか・・。
そこまで深い意味はないような…
となると、「15歳から~DirectX9 3Dプログラミング」なんて15歳向けではありませんよ、ベクトルや行列などが出てくるんですから…
Re:弾幕の作り方
Posted: 2008年8月21日(木) 18:15
by こめかみ
14、15歳は16進数だとどこかでみたような・・・
それが本当なら14歳は20歳だということになります。
や、根も葉もないうわさなのですが。
Re:弾幕の作り方
Posted: 2008年8月21日(木) 19:40
by 通りすがり
>レクさん
上記の私の忠告は聞いておくことをオススメします。
証拠が欲しいなら、ご自身で ケイブシュー、タイトーシューなど(プロの方々が作られたSTG)を
合法的にハッキングして何がダメか見つけてみることですね。
解析すればあることに気づきますよ。
Re:弾幕の作り方
Posted: 2008年8月21日(木) 20:48
by tk-xleader
>こめかみさん
あ~なるほど、それなら納得できなくもないですね…。
噂ですか~ 噂というのは理論的に正しいほど真に受けられるものですよね(笑)
>通りすがりさん
まぁまぁ、そこまでムキにならなくても…
でも、そんな難しいことから始めるなんて無理ですし、まずここから、それで、もっと高度な技術を学ぼう、身につけよう。というのも1つの手だとは思いませんか?
Re:弾幕の作り方
Posted: 2008年8月21日(木) 21:46
by 通りすがり
「ムキにならなくても…」ねぇ……。
ハイハイw
お前、悟った語り口で威張るなら答えてみw
Re:弾幕の作り方
Posted: 2008年8月21日(木) 22:24
by situmon
いままで弾幕について答えていただいた皆様、本当に感謝いたします。
だんだん、弾幕についての質問ではなくなったので、
新しく作ります。
本当にありがとうございました。
Re:弾幕の作り方
Posted: 2008年8月21日(木) 22:24
by @
>>通りすがり
お前に脳が足りないのかは知らないが場所を考えろ
煽りなら他でやってろ
お前は精神年齢が低すぎる
Re:弾幕の作り方
Posted: 2008年8月21日(木) 23:22
by .
>通りすがり
具体的なこと示せって言われても、何も答えられないわけですね。ハッキングして自分で調べろ?
そうすれば「あること」に気づく?
自分が答えられないからってそういう低レベルな回答するのはどうなの?
しまいには自分で回答できないから、人に答えてみ?と言って代わりに答えさせる気?
今求められてる事は、もっと適切なアルゴリズムがあるのなら自分で示す事ですよ。
文章では答えられないとかCではかけないとかいくらでも言い訳できるけど、
もし自分に本当にスキルがあるのなら、そんないい訳せずに
20行位でみんなが納得できるようなアルゴリズムの解説して下さい。
まぁ出来ない人にこんな事言っても無駄だけど。
Re:弾幕の作り方
Posted: 2008年8月21日(木) 23:36
by 通りすがり
恥ずかしい発言もほどほどにな。w
Re:弾幕の作り方
Posted: 2008年8月21日(木) 23:56
by 管理人
規約に沿った投稿をお願いします。
まず、丁寧語で投稿して下さいますようお願いいたします。
確かに私の示すプログラムはプロの間で常識となっているアルゴリズムとは違うと思います。
私独自のやり方ですし、私なりに我流で見つけてきた方法です。
ただ、Cをベースにしていても、C++のSTLの機能を使ったり、
リストや動的配列を駆使したりグローバル変数を減らすこと等でもっと効率的になると思いますが、
最大限効率化したコードを紹介することより、わかりやすいコードを紹介する方が
参考サイトとしてはずっと意味があると思ってそうしています。
効率化は、理解したうえで自分で行っていけばいいと思います。
難しいあまり、やる気がなくなって、断念してしまっては本末転倒です。
もっと効率的なアルゴリズムはもちろん存在するはずですし、
私にその事を紹介する技術が無い事も確かです。そこは否定する気もありません。
ただ先ほども書いた通り、もっと効率的なアルゴリズムをご存知なら皆さんが納得するように、
その理論を説明する事がこの話を解決する事になると思いますが、いかがでしょうか?
Re:弾幕の作り方
Posted: 2008年8月22日(金) 17:01
by 通りすがり
ん?何で規制?
名前?
Re:弾幕の作り方
Posted: 2008年8月22日(金) 17:02
by 通りすがり
あ、あれ?あれれ?NGワード?
ま、どうでもいいや。