■掲示板に戻る■ ■過去ログ倉庫一覧■
貴方が作る東方STG〜東方弾幕風 8- 1 :名前が無い程度の能力:2008/09/14(日) 21:37:05 ID:cvmL1jCE0
- Cライクなスクリプトを駆使して東方project風味のボスキャラやスペルカード、
果ては大規模ステージまで作れてしまうフリーウェア「東方弾幕風」の総合スレッドです。
独創的なオリジナル弾幕の公開もあり、どこかで見たようなコピー弾幕の公開もあり
それらの攻略、レビュー、感想もあり、スクリプトについての質問や相談などもあり
とにかく弾幕風関連の話題は何でもありのスレッドです。
現在、こちらのスレは主に製作者サイドの視点で進行しています。関連スレが
プレイヤーサイド視点ですので、攻略、ネタバレ、考察などについてはそちらも参照してみて下さい。
■関連サイト
東方弾幕風本体公開サイト と〜ほ〜GC
ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/
弾幕風ポータルサイト 弾幕風Wiki
ttp://cgi.f27.aaacafe.ne.jp/~thdmhul/pukiwiki/pukiwiki.php
上海アリス幻樂団創作物の二次創作・使用関連ページ
ttp://www.geocities.co.jp/Playtown-Yoyo/1736/t-081.html
東方弾幕風コンテスト会場
ttp://ratius55.hp.infoseek.co.jp/
東方弾幕風 スクリプト紹介所
ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi
■当スレ推奨アイテム
自作スクリプトのアップロードはこちら 東方なんでも八坂分社
ttp://coolier.sytes.net:8080/th_up3/page/
昔のスクリプトをお探しの方はこちらへ
旧うpろだ観測
ttp://www5d.biglobe.ne.jp/~coolier2/upkan.html
イナバ物置観測
ttp://www5d.biglobe.ne.jp/~coolier2/upkan2.html
東方なんでも三途の渡し
ttp://coolier.sytes.net:8080/th_up2/
- 2 :名前が無い程度の能力:2008/09/14(日) 21:37:37 ID:cvmL1jCE0
- ■旧スレッド
東方弾幕風総合スレ
ttp://jbbs.livedoor.jp/computer/6306/storage/1071332007.html
貴方が作る東方STG〜東方弾幕風 2
ttp://jbbs.livedoor.jp/computer/6306/storage/1093848513.html
貴方が作る東方STG〜東方弾幕風 3
ttp://jbbs.livedoor.jp/computer/6306/storage/1121855466.html
貴方が作る東方STG〜東方弾幕風 4
ttp://jbbs.livedoor.jp/computer/6306/storage/1163660297.html
貴方が作る東方STG〜東方弾幕風 5 (リセット)
ttp://jbbs.livedoor.jp/computer/6306/storage/1198719038.html
貴方が作る東方STG〜東方弾幕風 6
ttp://jbbs.livedoor.jp/computer/6306/storage/1205798729.html
貴方が作る東方STG〜東方弾幕風 6 (実質7スレ目)
ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/6306/1205954507/
■関連スレッド
東方弾幕風プレイヤー総合スレッド 4.5
ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/6306/1205954689/
- 3 :名前が無い程度の能力:2008/09/18(木) 00:14:31 ID:6/tZ8Lz60
- すごい過疎だな
- 4 :名前が無い程度の能力:2008/09/18(木) 00:34:37 ID:r3VSLA220
- 前スレがまだ埋まってないんですもの
- 5 :名前が無い程度の能力:2008/09/20(土) 04:44:14 ID:9hL3bVjo0
- ようやくうまるみたい
- 6 :名前が無い程度の能力:2008/09/20(土) 09:32:37 ID:MBs8fxNI0
- あれ、こっち復活したのか
- 7 :名前が無い程度の能力:2008/09/20(土) 12:26:32 ID:y6NNamZQ0
- >>1
乙です
- 8 :名前が無い程度の能力:2008/09/20(土) 14:55:21 ID:kX/bLCHE0
- >>1乙
- 9 :名前が無い程度の能力:2008/09/20(土) 16:07:28 ID:CFRmt.vwO
- >>1乙
新板おめ
- 10 :名前が無い程度の能力:2008/09/20(土) 18:09:25 ID:9hL3bVjo0
- 四面楚歌難しすぎるよ四面楚歌
- 11 :名前が無い程度の能力:2008/09/20(土) 19:54:19 ID:T5bcDSr.0
- >>1乙
- 12 :名前が無い程度の能力:2008/09/20(土) 21:59:46 ID:PfsIdsNw0
- >984 名前:名前が無い程度の能力[sage] 投稿日:2008/09/19(金) 00:36:26 ID:BqIqtKP20
>ステージスクリプト 四面楚歌外伝
>ttp://coolier.sytes.net:8080/th_up3/file/th3_5549.lzh
>
>
>東方風味は薄いです、むしろイメージファイト風味が濃いという謎。
>そのため道中は初見殺しのオンパレードとしか言いようがありません。
>さらに、敵は東方のキャラではありません、四面楚歌です。
>スレもラストに近いんで、こんな暴挙もいいですよね?
前スレ>>984
イメージファイトは名前だけ知ってて四面楚歌シリーズは知らないという惨状(つд`)
ひねくれた弾道を廃した造りだったので「詰み」がなく絶対に避けれない状況がほぼない所に好感。
難点を挙げれば背景に敵や弾が溶け込んで若干見えにくいシチュエーションがある辺りでしょうか。
( 背景の雪の積もった丘に重なる加算合成弾、
緑色の背景に重なって高速移動で自機に迫る緑色の戦車等)
1被弾2ボムKAKAEリプ ttp://coolier.sytes.net:8080/th_up3/file/th3_5594.zip
- 13 :ミレイ ◆orK.MILLAY:2008/09/21(日) 00:09:28 ID:RjOUIUdA0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_5601.png
ttp://coolier.sytes.net:8080/th_up3/file/th3_5602.png
以前うpした「Exチルノ2nd」のスクリーンショット。なんとなく作成中。
受験も忙しいし完成は来年になるかもです。
- 14 :名前が無い程度の能力:2008/09/21(日) 11:35:34 ID:rCr9dyjQ0
- >>13
体力ゲージも自作ですか!!!
凄いですね・・・憧れます・・・
- 15 :前スレ984:2008/09/21(日) 13:40:50 ID:Ae66YR920
- >>12
リプレイ見させていただきました
メテオブレイクの時の動きを見るに、貴方かなり上手いですよね?w
東方のような弾幕も勿論好きなんですが、敢えて非弾幕を組み込んだ結果がこれ
個人的にイメージファイトとR-TYPEとグラディウスが好きなもので、東方とは違う覚えゲーをやりたかった、というわけです
そのため、見えにくいのもわざと…とか言ったら怒られますかねw
とりあえずBT-ATK(青い巨大ロボ)の全方位弾幕あたりは修正かける予定です(戦車だけは敢えて色変えない予定ですがw
- 16 :名前が無い程度の能力:2008/09/21(日) 13:53:36 ID:NfLPtLXs0
- なんか作ってみようと思ってやって見たが早くも挫折しそう…
作ってる人凄いな
- 17 :名前が無い程度の能力:2008/09/21(日) 14:14:39 ID:14.r9tds0
- >>15
>メテオブレイクの時の動きを見るに、貴方かなり上手いですよね?w
自分や他の人の作った鬼畜弾幕風プレイですっかり開発された結果の回避性能です(笑)
というか実はメテオブレイクは
妖ルナサ第一通常みたいに避けれないかなー→上行きたいなー→ってうわぁ弾来た逃げろっ
のループで構成されてます(;´ω`)結果として異様なキチガイ避けに
>>16
弾幕風というかプログラム自体が初めての場合
ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/products/thdnhlec/index.html
のロベール氏作成の講座軽く流し見しつつ
(自分は第6回までで講座卒業して後はヘルプとにらめっこの独学)
HAL900氏のサイトの弾幕風Tipsにあるシンプルなサンプルスクリプト辺りを
ヘルプ片手に弄ってみるといいかも?
テキスト読んでピンと来なくても実際コード走らせて体感で覚えた結果理屈も理解って事もあるので…。
ちなみにHAL900氏とEND氏とLEN氏は自分の弾幕風作成におけるおとーさんです(´ω`)いつも超参考にしてます
- 18 :名前が無い程度の能力:2008/09/21(日) 14:22:46 ID:NfLPtLXs0
- >>17
thx!
とりあえずいろいろ弄ってみるかなー
- 19 :名前が無い程度の能力:2008/09/21(日) 15:45:15 ID:U8MzEliA0
- >>15
プレイしました。こちらもリプレイを
↓
ttp://coolier.sytes.net:8080/th_up3/file/th3_5627.lzh
四面楚歌は全く知らないのでノーコメントで。
・戦車が地形無視して突っ込んでくる上に空中判定で吹きました。
背景に溶け込むステルスっぷりもアレですが、画像からこちらの想定を裏切ってくるとは(笑)
・既に言われていますが全体的に敵弾が見難いです。耐久スペルでの暗色レーザーやラストのレーザーが特にストレスでした。
弾が見難いのはわざとと言ってますが、弾幕をばらまく以上それはやってはいけないことだと個人的には思います。
非弾幕なら弾が見難くてもまあ仕方ない、と言えるんですが。
・ザコの無敵時間がちょっと長い気がします。アイテム回収ラインくらいまでダメージ通りませんよね。
殺られる前に殺る、という原則が通用しないあたり、イメージファイトとはまるで異なるものの気が。
- 20 :ミレイ ◆orK.MILLAY:2008/09/21(日) 21:22:47 ID:RjOUIUdA0
- 弾幕風のプログラム課題。暇なら挑戦してみてください。
ある点(ax, ay)を中心とする、半径60以上120以下のドーナツ型の平面を定めます。
その平面内に、ランダムに1点を選び、そこから自機狙いの弾を出しなさい。 (50点)
■追加点
・出現率が均等になっている(+20点)
・無駄な試行錯誤をせず、必ず1回で決まる(+30点)
- 21 :名前が無い程度の能力:2008/09/21(日) 22:01:52 ID:IOGbVvl20
- こうですか?わかりません><
ttp://coolier.sytes.net:8080/th_up3/file/th3_5636.txt
- 22 :名前が無い程度の能力:2008/09/21(日) 22:03:11 ID:IOGbVvl20
- ドーナツ型じゃありませんでした。出直してきます。
- 23 :名前が無い程度の能力:2008/09/21(日) 22:14:26 ID:IOGbVvl20
- 修正しました。何度もすみません。
ttp://coolier.sytes.net:8080/th_up3/file/th3_5638.txt
- 24 :名前が無い程度の能力:2008/09/22(月) 00:10:07 ID:T3AY6MhQ0
- 暇だったので課題にチャレンジ。
ttp://coolier.sytes.net:8080/th_up3/file/th3_5641.txt
速度の指定が無かったので、ついでに均等なランダムにしておきました。
これに上からのばら撒きを追加して、スロー+モーションブラー&無音の効果を足せばみょんっぽくなります。
- 25 :名前が無い程度の能力:2008/09/22(月) 08:31:55 ID:BczFH.ic0
- 最近、家じゃ爆睡してばっかりで弾幕風触ってなかったなぁ
と思いつつ、ミレイ氏の課題をやってみたのですょ
追加点部分の出現率均等とか必ず1回で決まるってトコの意味が理解出来ない私は勉強不足
とりあえず、ある程度の弾出現角度と弾出現半径をばらけさせる様にはしてみたものの、
多分、きっと、恐らく、絶対キチンと動作してないと思う
まいいや(かなり投げやり)
ttp://coolier.sytes.net:8080/th_up3/file/th3_5651.zip
現在ちょっと面白い(?)弾幕スクリプトの校正中
出来たらうpります
何時になるやら(;-_-)
- 26 :名前が無い程度の能力:2008/09/22(月) 09:56:05 ID:5OwQpFT20
- 課題をやってみました
どうでしょうか?
ttp://coolier.sytes.net:8080/th_up3/file/th3_5652.txt
- 27 :名前が無い程度の能力:2008/09/22(月) 11:16:00 ID:uEMgPe0c0
- 完全に均等じゃありませんが取り敢えず。
ttp://coolier.sytes.net:8080/th_up3/file/th3_5653.zip
- 28 :名前が無い程度の能力:2008/09/22(月) 11:41:50 ID:XLiIGxlEO
- 角度と距離を使うと、面積に対する均等性で見れば外側が疎になるよなぁ…
全てのY座標点におけるX座標の取りうる範囲を出して、その取りうる範囲の広さに正比例する割合でランダムにY座標を決めて
そこからX座標を決めれば完全に均等にはなるけど、ひどいアルゴリズムになるな…
- 29 :名前が無い程度の能力:2008/09/22(月) 11:58:59 ID:uEMgPe0c0
- 中心oから距離rの各点によって構成される円の円周が2rπだから、
例えば距離60の時120π、距離61の時122π、距離120の時240π……と考えると、
60, 61, 62, ... , 120 の等差数列αの合計(60+120)*60/2=5400を分母として、
各要素(即ち距離に置き換えられる)が選ばれる確率はそれぞれα[i]/5400と考えられる。
よって、rand_int(0,5400)で得られた値nから、α[1], α[2], ... と順番に引いて行って、
nが0以下になった時の要素番号を半径とする。
というようなことを考えたけど、スマートじゃないよなあ。
- 30 :名前が無い程度の能力:2008/09/22(月) 12:01:18 ID:uEMgPe0c0
- しかも(60+120)*61/2=5490だった。
- 31 :ミレイ ◆orK.MILLAY:2008/09/22(月) 12:02:48 ID:UfYhuIWA0
- 説明不足だったので
■出現率が均等になっている
ttp://coolier.sytes.net:8080/th_up3/file/th3_5654.png
左側のスクリプトは外周に比べ、内周付近が赤っぽくなっています。
■無駄な試行錯誤をしない
こんなプログラムでなければ、合格です。
きちんと一度の試行で1点を決定してください。
[ランダムに1点を探す]→[範囲内である]―Yes→[そこに決定]
↑ |
└――――――――┘
- 32 :ミレイ ◆orK.MILLAY:2008/09/22(月) 12:14:25 ID:UfYhuIWA0
- 課題と平行して…
本日より、10月のコンテストのお題を募集したいと思います。
つ「空」「天気」「水」「回転」
- 33 :名前が無い程度の能力:2008/09/22(月) 15:38:18 ID:uyN1o1SI0
- むぅ、角度は別に考えなくても良いとして、
外側に行くほど採用率が比例して上がるシステムはどうしたら良いのやら。
- 34 :名前が無い程度の能力:2008/09/22(月) 16:14:58 ID:XlFlwFAg0
- let radius; //半径
let r = rand(60, 120);
if(r < 60) {
radius = rand(60, 120);
} else {
radius = rand(r, 120);
}
半径は多分これでおk
あとコンテストお題案「酒」「食」
- 35 :名前が無い程度の能力:2008/09/22(月) 16:18:15 ID:XLiIGxlEO
- やべえコード見てもわからん
randって引数2個だとどうなるんだっけ…
- 36 :名前が無い程度の能力:2008/09/22(月) 16:26:16 ID:JU54N4XQ0
- 角度を使うなら 外に出ると より疎にならないように
反比例させたらよかったんだろうか
angle=rand(0,3600/(180-r));であれば
r=60のとき angle候補30
r=120のとき angle候補60
r=60とr=120のときの候補間角度angleが均等
- 37 :名前が無い程度の能力:2008/09/22(月) 16:31:26 ID:iQsxCApw0
- >33
60の時と120の時で採用確率が倍、その間は均等に確率が増えるとする。
?
□
正方形の1辺を1とすると、上部の三角形を含めた面積は1.5
r=0〜1.5の乱数として、x=0〜1(左端〜右端)とすると
x^2/2+x=r
これをxで解くと
x=-1±√(1+2r)
マイナスはありえないので
x=√(1+2r)-1
左端が60、右端は120なので
60 + 60 x √(1+2r)-1
# すいませんが、弾幕風スクリプトの制限などは判りません
# アレンジをお願いします
- 38 :名前が無い程度の能力:2008/09/22(月) 16:35:02 ID:XLiIGxlEO
- JavaScriptが動かないとヘルプ見れないなんて酷い
あとは任せた
- 39 :34:2008/09/22(月) 16:44:49 ID:XlFlwFAg0
- すまん、>>34は適当すぎた
半径はコレだけで出るんじゃないかな
let radius = (rand(60^2, 120^2))^0.5;
- 40 :37:2008/09/22(月) 16:56:38 ID:iQsxCApw0
- >39
結果は同じっぽいですが、そっちの方がエレガントですね
# 37はカッコ抜けてました。orz
- 41 :名前が無い程度の能力:2008/09/22(月) 18:55:52 ID:0uZX2KX60
- sqrtみたいなのってないんだっけ?
- 42 :名前が無い程度の能力:2008/09/22(月) 19:03:41 ID:0uZX2KX60
- コンテストのお題「台風」で
- 43 :名前が無い程度の能力:2008/09/22(月) 19:55:32 ID:hPHYTqik0
- 通常弾で普通に破壊できる敵弾はどうすれば出来るでしょうか…
- 44 :名前が無い程度の能力:2008/09/22(月) 19:57:11 ID:8uzX4GXw0
- 敵にしてしまうといいよ。
ちっと重いけど。
- 45 :名前が無い程度の能力:2008/09/22(月) 20:12:23 ID:FyQYDk6U0
- >>41
xの平方根を取るなら、
x^(1/2) //xの1/2乗
でおk。
任意の数のn乗根は、
x^(1/n)で求められる。
- 46 :名前が無い程度の能力:2008/09/23(火) 15:18:56 ID:gNYlh3sA0
- ところで地霊殿の弾幕トレースってもう解禁されてるのかな
作ってはいないけどちょっと気になった
- 47 :名前が無い程度の能力:2008/09/23(火) 15:21:20 ID:ahc2sU6U0
- 話題には上がってなかったけど解禁なんじゃないかな
- 48 :名前が無い程度の能力:2008/09/23(火) 19:44:53 ID:gNYlh3sA0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_5701.txt
課題提出してみる
>>39の式に少し加えて使いましたごめんなさい
出現率これでも揃ってないかも
- 49 :名前が無い程度の能力:2008/09/23(火) 22:09:13 ID:cY8FCcnQ0
- ニコ動には結構前から地のトレスあがってたな
今となってはもう別に解禁でいいと思う
- 50 :名前が無い程度の能力:2008/09/24(水) 20:30:41 ID:/kC/xkqo0
- 弾幕には関係ないかも知れんが、
きれいな3D背景作れる人素直に尊敬するわ
やはりデザイン方面の才が必要なんだろうか
- 51 :名前が無い程度の能力:2008/09/24(水) 20:37:09 ID:8XD4RGi60
- 背景が綺麗でも大事なのは弾幕が避けてて楽しいかどうかだと思う
- 52 :名前が無い程度の能力:2008/09/25(木) 06:52:43 ID:fO9/FQ7Y0
- 弾幕作り自体には素材作りの才能なんてほぼ必要ないと言ってみる
- 53 :名前が無い程度の能力:2008/09/25(木) 07:20:46 ID:NvqD/2LQ0
- ゲームに見た目なんて不要だよ
- 54 :名前が無い程度の能力:2008/09/25(木) 07:56:45 ID:IA2kOlDA0
- ゲームとしての楽しさと見た目の演出を別々にして語るのはどうかと……と話がずれてきてるな。
3Dの背景(に限らないが)は、デザインセンスが無くてもノウハウがあれば何とかなるのでは?
- 55 :名前が無い程度の能力:2008/09/25(木) 14:56:34 ID:vx3kDN5s0
- 結局何を作りたいの?ってことだな。
如何に合理的な当たり判定の推移を作りたいのか、それとも
音と光の総合エンターテイメントを作りたいのか。
てかデフォ背景があのウネウネってのが難しいよな。弾幕が見づらい問題。
今度から背景に限り単色塗りつぶしOKがいいんじゃないかなあ。黒とが限定すると黒色に意味を持たせた弾幕が作れないし。
- 56 :名前が無い程度の能力:2008/09/25(木) 19:54:38 ID:tgFuY5rA0
- 背景・・・動かす事はできるんですけど・・・。
風陣等の、Exみたいに、前へ進んでる感じってのが出せないんですよね・・・
きれいな3D背景等を作れる人を尊敬します・・・
- 57 :名前が無い程度の能力:2008/09/25(木) 20:59:39 ID:H7cV0XGc0
- >>56
あれや永夜4面は、綺麗さよりスクロール速度だと思うぜ(*゚ー゚)b
背景寂しいより、バサバサしていたほうが有効。
特に上に伸びるオブジェクトは、3Dだとより速度を感じさせる。
- 58 :名前が無い程度の能力:2008/09/26(金) 09:31:29 ID:KrZ5ONG.0
- コンテストのお題
「山」「魔法」「列」
- 59 :ミレイ ◆orK.MILLAY:2008/09/26(金) 11:29:23 ID:mmeB2bw20
- スクリプト課題、>>39さんのものがシンプルで非常に優秀でした。
ちなみに、私の模範スクリプト(?)ではこんな面倒なことを。
let r1 = rand(60, 120);
let r2 = rand(-60, 120);
if(r1<r2){ r1 = r2; }
let ang = rand(0, 360);
また、10月の弾コンのお題候補の募集は本日までです。
明日からは候補の投票期間になります。
つ「空」「天気」「水」「回転」「酒」「食」「台風」「山」「魔法」「列」
- 60 :名前が無い程度の能力:2008/09/26(金) 18:40:21 ID:vxJPMofs0
- >>57
そうなんですか・・・
自分も出来るように、がんばりたいです
- 61 :名前が無い程度の能力:2008/09/26(金) 18:52:38 ID:C7zVt6HM0
- 最近、CreateShotなどの戻り値を使えばObjシリーズの関数で弾の制御が出来る事を知ったのだが(たぶん既出)。
だったらCreateShot02などの加速度とかも後から値を取得&変更ができそうな気がするのだがどうなんだろう? 誰か教えてください……orz
- 62 :名前が無い程度の能力:2008/09/26(金) 19:24:03 ID:cuawQctM0
- >>61
それよりもその制御方法kwsk
- 63 :61:2008/09/26(金) 19:58:38 ID:C7zVt6HM0
- >>62
こんな感じ↓
task aaa() {
let id=CreateShot01(GetX(),GetY(),2,90,RED01(),0);
loop(60) {yield;}
if(!Obj_BeDeleted(id)) {
Obj_SetY(id,GetPlayerY()-50);
}
}
aaaを呼び出すと、敵から真下に弾を発射→60フレーム後にプレイヤーの真上に移動させる、など。
調べたところによると、CreateShot01,02,11,12とCreateLaser01は上記のやり方で、他のSet系の関数で制御するタイプのはFireShotの戻り値を取得すればいけるみたい。
- 64 :名前が無い程度の能力:2008/09/26(金) 21:25:32 ID:koZB8In20
- 既出じゃない気がする。
CreateShot01の戻り値に意味があったのをはじめて知った。
ヘルプにものってないようだし、よく気づいたなこんなの・・・
- 65 :名前が無い程度の能力:2008/09/26(金) 22:18:51 ID:eqBjSmao0
- obj弾で加速度や角速度を設定しようとすると重くなりがちだけど、これなら軽い弾で簡単に行える・・・のかな
- 66 :61:2008/09/26(金) 22:33:12 ID:C7zVt6HM0
- >>64
Create〜に戻り値がある→この値でObj使えるかも? とカンでやってみたら本当に使えてびっくりした。
>>65
どうもCreate〜はObj弾を発射する関数だと睨んでる。
重くなりがちなのはObj弾だからではなく、マイクロスレッドを多量に走らせるからなんじゃないかなぁ、と思う。
で、加速度とかの値を外部から取得&変更できるといいなぁと思ってはいるのだが、もしや内部関数で制御してて外からは触れないようになってるんだろうか?
- 67 :名前が無い程度の能力:2008/09/26(金) 23:17:41 ID:IEReUXHM0
- 弾幕風って、何でこんなに奥深いんだwww
mkm氏出て来いwww
- 68 :名前が無い程度の能力:2008/09/26(金) 23:32:28 ID:1lRdwzuw0
- 今までobj弾は遅いって言われてて、
その理由が「弾の挙動が組み込みでないから」とかだったような
ところが実は変更が効くとなると、まあ変な話になる
- 69 :名前が無い程度の能力:2008/09/26(金) 23:32:54 ID:SHVE7X8I0
- >>66
速度は、Obj_GetSpeed(id)で出来るでしょ。
加速度って言うのは、単位時間あたりの速度の変化量だから、
外部関数で直接加速度を取得するのは不可能。
例えば、
function Obj_GetAcceleration(id) {
let v1=Obj_GetSpeed(id);
yield;
let v2=Obj_GetSpeed(id);
return v2-v1;
}
という関数を作れば、1フレーム後に加速度を返す。
逆に、加速度を変更したい場合は、
task Obj_SetAcceleration(id, acl) {
let v=Obj_GetSpeed(id);
loop {
yield;
v+=acl;
Obj_SetSpeed(id, v);
}
}
というタスクで、マイクロスレッドを使って変化させる。
- 70 :61:2008/09/27(土) 00:25:46 ID:elTK00Bg0
- >>68
下のような関数を作って多量に弾を発射してみて、CreateShot01と大して処理速度が変わらなかったから、って理由で勝手に推測してただけなんで実際のところはちょっと……
↓
function myCreateShot01(let x,let y,let speed,let angle,let gp,let delay) {
let id=Obj_Create(OBJ_SHOT);
Obj_SetPosition(id,x,y);
Obj_SetSpeed(id,speed);
Obj_SetAngle(id,angle);
ObjShot_SetGraphic(id,gp);
ObjShot_SetDelay(id,delay);
}
>>69
マイクロスレッドを使えば良いのはわかるのですが。
Create〜の戻り値を設定するぐらいの親切設計なんだからCreateShot02やAとかの内部でやってる加速度とかの独自処理も外部からいじれるのかな? と思っただけ。
もしくはヘルプに乗ってないObj関数があるかも、とか。
やっぱ無理なのかなぁ……。
- 71 :名前が無い程度の能力:2008/09/27(土) 01:15:50 ID:4Fljg3JM0
- >>69
角速度や加速度が、内部的に移動と別タスクで行われているのか、増分を弾のパラメタとして持っているかは不明では?
指定フレーム時点で変化させられることから考えると、後者の可能性が高いと思う。
スクリプト上のマイクロスレッドと違ってメインループ内で yield する必要がないから、少なくとも完全に同一なシステムでは動いていないはず。
それはそれとして、オブジェクト弾を制御するコードを書くと重くなるのは、スクリプトを読む処理が入るからってのが大きい気がする。
- 72 :名前が無い程度の能力:2008/09/27(土) 01:18:35 ID:4Fljg3JM0
- 移動と別タスクで行われているのか
↓
移動などとは別のタスクを生成して表現されているのか
>>70
カーブや加速は CreateShot で実装するかオブジェクト弾で実装するかでかなり実行速度に差が出ません?
- 73 :名前が無い程度の能力:2008/09/27(土) 11:30:45 ID:iocqwTuc0
- お初です。まだ始めたばかり(1週間半ぐらい?)で
壁にぶち当たったので質問を書かせていただきます。
let id = 0;
CreateLaserB(id, 395, 12, BLUE03, 20);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, -90, 2);
FireShot(id);
こんな感じで青い設置レーザーを回してみたいのですが
SetShotKillTime(id, 20);
ではレーザーが削除されず
画面内にものすごい量のレーザーが展開されてしまいます。
設置レーザーを一定フレーム後に削除できる方法を
教えてください。
SetShotKillTimeじゃないような気もするのですが
ほかに東方弾幕風ヘルプにそれらしいものが無かったので
つまってしまいました。
- 74 :名前が無い程度の能力:2008/09/27(土) 11:38:47 ID:a8doskus0
- SetShotKillTime(id, 20);←これは
FireShot(id);の前に置かないと 効果がないので
CreateLaserB(id, 395, 12, BLUE03, 20);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, -90, 2);
SetShotKillTime(id, 20);
FireShot(id);
これでいけるはず
- 75 :名前が無い程度の能力:2008/09/27(土) 13:58:06 ID:iocqwTuc0
- さっそく書き換えましたが
一番うえから右に20本 遅延状態のまま止まり、
続きのレーザーが発生しませんでした。
20本のレーザーも遅延状態のまま止まるため、
当たり判定も発生しません
念のため、テキストの全貌を載せます↓
#東方弾幕風
#Title[まだ決まっていません]
#Text[移動などの実装は後で]
#ScriptVersion[2]
script_enemy_main {
let imgBoss = "script\img\ExRumia.png";
let angle = 90;
@Initialize {
SetX(GetCenterX);
SetY(GetClipMinY + 120);
SetLife(2000);
LoadGraphic(imgBoss);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
}
@MainLoop {
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
let id = 0;
CreateLaserB(id, 395, 12, BLUE03, 20);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, -90, 2);
SetShotKillTime(id, 20);
FireShot(id);
}
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic(imgBoss);
}
}
- 76 :名前が無い程度の能力:2008/09/27(土) 14:31:46 ID:4Fljg3JM0
- >>75
#東方弾幕風
#Title[]
#Text[]
#ScriptVersion[2]
script_enemy_main
{
let imgBoss = "script\img\ExRumia.png";
let angle = 90;
@Initialize
{
SetX(GetCenterX);
SetY(GetClipMinY + 120);
SetLife(2000);
LoadGraphic(imgBoss);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
ShotTask1();
ShotTask2();
}
@MainLoop
{
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
yield;
}
- 77 :名前が無い程度の能力:2008/09/27(土) 14:32:23 ID:4Fljg3JM0
- //一本のレーザーが回転。
//(正直者の死みたいなの。)
task ShotTask1
{
yield;
let delaytime = 20;
let id = 0;
CreateLaserB(id, 395, 12, BLUE03, delaytime);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, -90, 2);
if(0) { //これを有効にすると 20f で消える。
SetShotKillTime(id, delaytime+20);
}
FireShot(id);
}
//レーザーの発射方向が回転しながら次々と発射。
//(ロイヤルダイヤモンドリングみたいなの。)
task ShotTask2
{
yield;
let degree = 0;
loop{
let id = 0;
let delaytime = 20;
CreateLaserB(id, 250, 12, RED21, delaytime);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, degree, 0);
SetShotKillTime(id, delaytime+40);
FireShot(id);
degree += 6;
loop(3) {
yield;
}
}
}
@DrawLoop
以下略。
- 78 :名前が無い程度の能力:2008/09/27(土) 14:36:08 ID:4Fljg3JM0
- 長過ぎって言われるので分割+最後は変更してないので省略。
文意が今ひとつ汲めなかったので二種類実装してみたけどこういうことかな?
元のスクリプトで発生していた現象の原因は申し訳ないけどよく分からない。
FireShot(id);
の次の } が不要な筈だけど、これ何故動くんだろう。消してみても動いたし。
- 79 :名前が無い程度の能力:2008/09/27(土) 14:38:59 ID:Jr7tRGvk0
- >>75
Mainloopの閉じ括弧が無駄に二重になってる気がしますがそれはともかく。
ディレイと消滅時間が一緒だから、20フレームが終わった時点で待機線のまま消滅してます。
ついでに、Mainloop内に直に書いてるせいでレーザーが毎フレーム生成され、見かけ上止まってるように見えてますね。
試しにマイクロスレッドを使って(仕組みがわからなくともひとまず験しって事で)
(前略)
@Initialize {
(初期設定割愛)
MainTask;
}
@MainLoop {
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
yield;
}
task MainTask {
let id = 0;
CreateLaserB(id, 395, 12, BLUE03, 20);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, -90, 2);
SetShotKillTime(id, 20);
FireShot(id);
loop(60) { yield; }
}
(後略)
こんな風にしてみれば、真上に発生したレーザーが待機線のまま回転して消滅するのがわかると思います。
『当たり判定発生してから20フレームで消滅』としたいなら、消滅時刻をディレイ分足せばおk。
- 80 :名前が無い程度の能力:2008/09/27(土) 14:39:23 ID:4Fljg3JM0
- ああ、 SetShotKillTime() は実態化後から数えるのではなくて、ディレイ分もカウントされるのか。
なので毎フレーム作られたレーザー全てがディレイ終了前の 20f 経過時点で消滅しているので実体化しない、と。
- 81 :名前が無い程度の能力:2008/09/27(土) 14:48:14 ID:3Jqh8dhE0
- 昨日から弾幕風の勉強を始めて
試しに東方本家のボスの弾幕を真似て作ってみようと思ったんですが
弾幕風で再現するのが簡単そうな弾幕って何かありますか?
- 82 :名前が無い程度の能力:2008/09/27(土) 14:59:01 ID:4Fljg3JM0
- >>81
紅魔卿でルーミア→チルノ→四面パチュリー→五面咲夜の順番を勧めてみる。
この辺で基本的な処理は大体カバーしてるはず。
テンションを保つには自分の好きな弾幕でやるのが良いと思うけど。
- 83 :名前が無い程度の能力:2008/09/27(土) 14:59:14 ID:Jr7tRGvk0
- >>81
紅魔郷のは複雑な動きが少ないからやりやすいと思います。
軌道が何度も変わったり、発射位置が複雑だったりするとその分難しくなるものですから。
パチェのスペル辺りがオススメかな?
ってそうだ、質問に答えに来たんじゃなく質問しに来たのを忘れてた。
完全なる墨染の桜系の、回転しつつ自機狙いで収束してくる蝶弾。
最初に回転する分を計算に入れようとしているのですが、どうも上手くいきません。
誰か知恵を貸してもらえないでしょうか。
- 84 :名前が無い程度の能力:2008/09/27(土) 16:56:37 ID:6pWeqlBU0
- >>79
有難う御座います!
このようなレーザーそのものが回る物が描きたかったのですが
自分の書いたものはいたる方向に
レーザーを発射していたため
ひいたレーザーを撤去しながら回そうとしていたのです。
問題は解決しましたが
でもなぜかこれ、レーザーの発射を一定時間後に止めさせると
ボスが非表示になってレーザーも発射しなくなりますねw
(なのでSetShotKillTimeを使わずに使わせて頂きます)
- 85 :名前が無い程度の能力:2008/09/27(土) 18:05:09 ID:3Jqh8dhE0
- >>82-83
アドバイス見てから3時間でここまで作ってみました
ルーミア 中ボス弾幕、通常弾幕1
ttp://coolier.sytes.net:8080/th_up3/file/th3_5790.txt
これ結構微調整とか難しいですね・・・
なんか、とても汚いスクリプトになってしまったのですが
綺麗にする方法とか、変えた方がいいところとかアドバイスお願いします
- 86 :名前が無い程度の能力:2008/09/27(土) 18:12:50 ID:rVD5Yvp20
- >>83
あれって片方が自機狙い+180、もう片方が自機狙いを基準角として
3方向に分裂したあと180度回転→さらに直線状に分裂ってかんじだから
角度の取得は最初に発射されたあと分裂位置で停止した瞬間でいいかと。
あと本家が完全な自機狙いじゃないのは多分回転の半径をわざと無視してるからだと思う。
>>84
意味がわからないな、ちょっとスクリプト載せてみて。
- 87 :名前が無い程度の能力:2008/09/27(土) 18:24:25 ID:rVD5Yvp20
- >>85
もう少し移動部分と発射部分を分離したら見やすくなると思う。
TMove{
(なんか移動&待機処理)
TAttack1;
(なんか移動&待機処理)
TAttack2;
〜中略
}
//攻撃タスク
TAttack1{
(割愛)
}
TAttack2{
(割愛)
}
〜以下略
こんなふうにそれぞれの攻撃をタスク別に分けて、移動タスクからそれらを呼ぶみたいな感じにするとか。
- 88 :61:2008/09/27(土) 19:02:58 ID:elTK00Bg0
- とりあえずお題は「酒」「食」にマイナス票を。
>>72
下の三つでちょっと加速を実験。
// ①一番楽で普通な方法。
CreateShot02(GetX(),GetY(),0,90,0.02,99,RED01(),0);
// ②マイクロスレッド版。
task ksk01() {
let id=CreateShot01(GetX(),GetY(),0,90,RED01(),0);
while(!Obj_BeDeleted(id)) {
let spd=Obj_GetSpeed(id);
Obj_SetSpeed(id,spd+0.02);
yield;
}
}
// ③4000発を1スレッドで管理
task ksk02() {
let a=[];
loop(4000) {
a=a~[CreateShot01(GetX(),GetY(),0,90,RED01(),0)];
}
while(!Obj_BeDeleted(a[0])) {
ascent(cnt in 0..4000) {
let spd=Obj_GetSpeed(a[cnt]);
Obj_SetSpeed(a[cnt],spd+0.02);
}
yield;
}
}
①と②はloopで4000回、③は1回実行して、それぞれ同時に4000発発射してみる。
ちなみにウィンドウモードで実験してます。
結果:
①→fps40 それなりに処理落ち。
②→fps24 とても処理落ち。
③→fps24 とても処理落ち。さらに発射時に一瞬止まったw
かなり差が出た。
おそらく①は多量の弾の処理、②と③は①に多量の関数呼び出しが加わったせい重くなったと予想してみる。
それと③で一瞬止まったのは配列のメモリ確保に時間をとられたからと思ふ。
結局、値の変化を外部から関数を使って制御してるから重くなる……?
という事はやはり弾オブジェクトに加速度とかのパラメーターも存在していて、Create〜関数はそのパラメーターに値を渡している……?
それともCreate〜で作る弾とObjで作る弾は別々に制御されてる?
どちらにせよ外部から触れないならどっちでも良いような気はするが。
実験しておきながら結局さっぱり分からん……orz
- 89 :名前が無い程度の能力:2008/09/27(土) 20:37:52 ID:Jr7tRGvk0
- >>86
出来ました。ありがとうございます。
あの微妙なずれはそういうことだったんですね。
- 90 :名前が無い程度の能力:2008/09/27(土) 22:05:41 ID:oyKutsJI0
- お題「酒」「食」「台風」にマイナスをお願いします
- 91 :名前が無い程度の能力:2008/09/27(土) 23:27:50 ID:SNHxjVR60
- お題「水」「酒」「列」にマイナスをおねがいします
- 92 :ミレイ ◆orK.MILLAY:2008/09/27(土) 23:59:15 ID:vvmZ9OmY0
- お題候補の一旦集計。私は「酒」「食」「魔法」「列」にマイナス票。
現在のお題候補(*:マイナス票)
「空」「天気」「水*」「回転」「酒****」「食***」「台風*」「山」「魔法*」「列**」
- 93 :名前が無い程度の能力:2008/09/28(日) 00:46:46 ID:RC/A57co0
- たまたま見つけて好奇心の趣くままに始めてみた弾幕風。
ヘルプやらwikiやらと格闘してみたものの、未だにマイクロスレッドが理解できずorz
弾幕講座に順じて書いたつもりでも、いざ起動すると「未定義の識別子です」?
直そうにも知識0の自分には原因すら特定できなかった。
こいつは骨が折れる、というか心が折れそう…。
製作者の偉大さを思い知った今日この頃。
- 94 :名前が無い程度の能力:2008/09/28(日) 01:04:07 ID:PP00WrB60
- >>93
さぁ動かないスクリプトをtxtなりzipなりにして挙げてみるんだ。
屈強なおにーさんたちが次々と問題点を指摘してくれるよ!
多分。
自力解決を望むなら{ }が変な所で閉じられてたり数が合わなかったりしないか、
CrieitoSyottoO1(GetX,GetY〜等の様にスペルミスがないか確かめると良いかもね。
- 95 :名前が無い程度の能力:2008/09/28(日) 06:05:05 ID:iDnUNjjc0
- 「回転」「台風」にマイナス票。
- 96 :名前が無い程度の能力:2008/09/28(日) 08:54:51 ID:1COalOdE0
- 「台風」「酒」「列」にマイナス票お願いします
>>93
「未定義の識別子です」だと、単純にタイプミスをしているだけかもね
- 97 :73&75&84:2008/09/28(日) 17:34:21 ID:FL/TM3rI0
- #東方弾幕風
#Title[ディープフリーズ]
#Text[頑張ってみる]
#ScriptVersion[2]
script_enemy_main {
let imgBoss = "script\img\ExRumia.png";
let angle = 90;
let name = "ディープフリーズ";
let frame = 0;
let csd = GetCurrentScriptDirectory;
let shotData = csd ~ "script\bullet-script\光球 id = 1.txt";
let rand = rand_int(-180,180);
@Initialize {
CutIn(YOUMU, name, "", 0, 0, 0, 0);
SetX(GetCenterX);
SetY(GetClipMinY + 224);
SetLife(4200);
SetTimer(77);
SetScore(3500000);
LoadGraphic(imgBoss);
LoadUserShotData(shotData);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
PlaySE("se\lazer.wav");
Concentration02(40);
MainTask;
}
@MainLoop {
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
yield;
}
task MainTask {
let id = 0;
CreateLaserB(id, 500, 12, BLUE04, 40);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, +90, 2);
FireShot(id);
loop(60) { yield; }
}
frame++;
if(frame == 35) {
CreateShot02(GetX, GetY, 1, rand, 1, 3, 1,2);
let rand = rand(-180,180);
let frame = 0;
}
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic(imgBoss);
}
}
(あれからちょっといじりました。
frame++;
if(frame == 35) {
CreateShot02(GetX, GetY, 1, rand, 1, 3, 1,2);
let rand = rand(-180,180);
let frame = 0;
}をはずしたり戻したりして確認してください。
Shotkilltimeを付け直すともう発射しなくなります。)
>>86の指示にありましたので張るついでに
また質問です。(またかw
文中のMainloopにMain taskの後ろに弾を不規則にばら撒くようにするつもりの物を
張りましたが
「let rand = rand(-180,180);」の前に「{」をつけろなどと言われ、
弾がでないのです。(つけても「;」が抜けていると言われて動きません)
Main taskの中に一緒に入れれば動作するのかと思ったのですが、
無理でした。
レーザーと同じタイミングでばら撒き始めようとしているため、
マイクロスレッドは1つのままでいいとおもったのですが・・・。
- 98 :名前が無い程度の能力:2008/09/28(日) 19:08:26 ID:cdFGyNXs0
- randって変数をrand1に変えるだけであら不思議
ループさせて無いのでどちらにしても発射されないですが
ループさせると
CreateShot02(GetX, GetY, 1, rand, 1, 3, 1,2); ×
CreateShot02(GetX, GetY, 1, rand, 1, 3, BLUE11,2);○
画像の指定がされてないから固まる
あとここのletは不要です
let rand = rand(-180,180);
let frame = 0;
他にあるかも知れないけどぱっと見た感じこれぐらいしか見つかりませんでした
ところで地霊殿6面みたいな時間がたつと
大きさが段々変わる弾ってどう実装すればいいんでしょうか
- 99 :名前が無い程度の能力:2008/09/28(日) 19:09:25 ID:xoKMbQxA0
- 月並みだが
設置型オブジェクトレーザーを動かしてみるとか
グレイズできちゃうけど
- 100 :名前が無い程度の能力:2008/09/28(日) 19:27:22 ID:j4X85aeA0
- >>97
正直言って間違いが多すぎて指摘しきれないがとりあえずこれ読め。
ttp://f27.aaa.livedoor.jp/~thdmhul/pukiwiki/pukiwiki.php?%A5%DE%A5%A4%A5%AF%A5%ED%A5%B9%A5%EC%A5%C3%A5%C9%B9%D6%BA%C2
- 101 :名前が無い程度の能力:2008/09/28(日) 19:42:46 ID:fK7ppZCE0
- >>98
実用上は>>99の方法で充分だけど、ちょっと手間をかけて
1.エフェクトオブジェクトで弾を作る
2.タスクで大きさと当たり判定を管理(中心座標と半径を制御すれば充分)
3.当たり判定内に自機が入ったらShootDownPlayerで撃墜
とすればグレイズ不可能な弾が出来る・・・と思うけど机上論。
- 102 :名前が無い程度の能力:2008/09/28(日) 19:58:54 ID:R7fIZ3560
- >>98
スクリプト弾を使えば弾と当たり判定の大きさが変化する弾を作れます。
参考スクリプト
ttp://www5d.biglobe.ne.jp/~end2001/danmaku/danmaku_suimu.lzh
レミリアのヘルカタストロフィー、萃香の百万鬼夜行あたりで使われています。
ttp://coolier.sytes.net:8080/th_up2/src/th2_9413.lzh
ボス弾幕で大きさの変化する弾スクリプトが実装されています。
- 103 :名前が無い程度の能力:2008/09/28(日) 21:28:37 ID:h5Sb2ON20
- >>98の方
let消しました。
>>100の方
の指摘によりマイクロスレッドの説明を見直しました
(「0から始める弾幕作成」の説明を先に見ていたのですが、
イマイチわからなかったので少し参考になりました)
#東方弾幕風
#Title[]
#Text[]
#ScriptVersion[2]
script_enemy_main {
let imgBoss = "script\img\ExRumia.png";
let angle = 90;
let name = "";
let frame = 0;
let csd = GetCurrentScriptDirectory;
let shotData = csd ~ "script\bullet-script\光球 id = 1.txt";
let rand = rand_int(-180,180);
@Initialize {
CutIn(YOUMU, name, "", 0, 0, 0, 0);
SetX(GetCenterX);
SetY(GetClipMinY + 224);
SetLife(4200);
SetTimer(77);
SetScore(3500000);
LoadGraphic(imgBoss);
LoadUserShotData(shotData);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
PlaySE("se\lazer.wav");
Concentration02(40);
MainTask;
TTask(0);
TTask(1);
}
@MainLoop {
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
yield;
}
task MainTask {
let id = 0;
CreateLaserB(id, 500, 12, BLUE03, 40);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, +90, 2);
FireShot(id);
loop(60) { yield; }
}
task TTask(i) {
yield;
loop(1) {
CreateShot02(GetX, GetY, 1, [rand,rand][i], 1, 3, AQUA03,2);
loop([8,11][i]) { yield; }
}
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic(imgBoss);
}
}
こんな感じに書き直してみました。
処理はするようになりましたが
まだ弾は1発しか出ません・・・。
どこを変えればループできるか助言御願いします。
(randが2つCreateShot02の角度にある必要があるかも解っていませんw)
- 104 :名前が無い程度の能力:2008/09/28(日) 22:19:41 ID:R7fIZ3560
- >>103
無限ループさせるには
loop(){}またはloop{}のようにループ回数を指定しないループにする必要があります。
上の例だと
・MainTaskでレーザーを60フレーム置きに発射させる。
→let id = 0;の上に「loop{」を追加、loop(60) { yield; }の下に「}」を追加。
・TTask(i)を無限ループにする。
→loop(1) {をloop() {に変更する。
でできるかと。
あと、ローカル変数で指定したrandを角度にしているので、ループしてもショットは常に同じ方向にしか飛ばない気がします。
全方位ランダム弾にしたいのなら
let rand = rand_int(-180,180);を削除し
CreateShot02(GetX, GetY, 1, [rand,rand][i], 1, 3, AQUA03,2);を
CreateShot02(GetX, GetY, 1, rand_int(-180,180), 1, 3, AQUA03,2);とすれば良いです。
- 105 :名前が無い程度の能力:2008/09/28(日) 22:57:54 ID:j4X85aeA0
- >>103
@Initializeから複数のタスクを呼ぶより、制御用のタスクを呼び出して
その制御タスクから他の細かいタスクを呼び出してみたいな感じの方が見やすい
@Initialize{
(設定中略)
SetGraphicRect(0, 0, 63, 63);
MainTask;//全体制御用タスク
}
@MainLoop{
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
yield;
}
//全体制御用タスク
task MainTask {
PlaySE("se\lazer.wav");
Concentration02(40);
loop(30){ yield; }
LaserTask;//レーザータスク呼び出し
ShotTask1;//ばら撒きタスク呼び出し
(以降いろいろ記述)
}
//レーザータスク
task LaserTask {
let id = 0;
CreateLaserB(id, 500, 12, BLUE03, 40);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, +90, 2);
FireShot(id);
loop(60) { yield; }//←ちなみにこのままだとこれは不必要(これより後に追加処理がないため。)
}
//ばら撒き
task ShotTask1 {
let num = ○○;//ばら撒く弾の数
let ang;//発射角度変数の定義
let int_time = □□;//弾の発射間隔(時間、単位はフレーム)
loop(num) {
ang = rand(-180, 180);//ここで乱数を生成・代入することでループごとに角度が異なるものになる
CreateShot02(GetX, GetY, 1, ang, 1, 3, AQUA03,2);
loop(int_time) { yield; }
}
}
(以下省略)
あくまでrandは実行されるたびに乱数を生成して値を返すだけで返された値自体は定数だから、
ループ内でrandを実行しては変数に代入するような形を取ればいい。
あとオリジナルの弾を使うなら、ファイル名はもっと普通に半角英数のしたほうがいいかと。
それとなるべく変数のスコープは小さいほうがいいかな。好みもあるけど。
- 106 :93:2008/09/28(日) 23:52:54 ID:RC/A57co0
- #東方弾幕風
#Title[]
#Text[]
#ScriptVersion[2]
script_enemy_main
{
let imgBoss = "script\img\ExRumia.png";
let angle = -180;
let count = 0;
@Initialize
{
SetX(GetCenterX);
SetY(GetClipMinY + 120);
SetLife(2000);
LoadGraphic(imgBoss);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
MainTask;
}
@MainLoop {
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
yield;
}
task MainTask{
loop(60){ yield;}
TaskLaser1;
TaskLaser2;
TaskShot;
task TaskLaser1
{
let id = 0;
let time = 60;
CreateLaserA(id, GetX, GetY, 400, 18, RED01,time);
SetLaserDataA(id, 0, 0, 2, 0, 0, 0);
FireShot(id);
loop(60){yield;}
}
task TaskLaser2
{
yield;
let id = 0;
let time = 60;
CreateLaserA(id, GetX, GetY, 120, 18, BLUE01,time);
SetLaserDataA(id, 0, 0, -1, 0, 0, 0);
loop(60){yield;}
}
}
task TaskShot
{
yield;
let id = 0;
let angle=-180;
if(count>=40 && int(count/15)==count/15)
while(angle<180)
{
CreateShotA(id,GetX,GetY,20);
SetShotDataA(id,0,1,angle,0,0,0,RED01);
FireShot(id);
angle+=30;
}
}
}
count++;
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic(imgBoss);
}
}
色々なスクリプトを参考にして弄った結果、「MainTaskは未定義の識別子です」のエラーは吐かなくなりました。
が、今度はwhileの前に{が必要と言われました。
つけたらつけたで敵画像が表示されなくなり、レーザーも一本しか出なくなりました。
なんかもう頭が爆発しそうでウボァー
wikiもヘルプも20回は読み返したけども理解できず…。
- 107 :名前が無い程度の能力:2008/09/29(月) 00:27:13 ID:BNkP7NKg0
- >>106
とりあえずできるだけ直してみた。
(前略)
//メインタスク
task MainTask {
loop(60){ yield;}
TaskLaser1;
TaskLaser2;
TaskShot;
}//←ここで一度閉じる
//レーザーその1
task TaskLaser1 {
let id = 0;
let time = 60;
CreateLaserA(id, GetX, GetY, 400, 18, RED01, time);
SetLaserDataA(id, 0, 0, 2, 0, 0, 0);
FireShot(id);
loop(60){yield;}
}
//レーザーその2
task TaskLaser2 {
let id = 0;
let time = 60;
CreateLaserA(id, GetX, GetY, 120, 18, BLUE01, time);
SetLaserDataA(id, 0, 0, -1, 0, 0, 0);
FireShot(id);//FireShotは忘れやすいので注意
loop(60){yield;}
}
//ショットタスク
task TaskShot {
let id = 0;
let angle=-180;
if(count>=40 && int(count/15)==count/15){//ここら辺がよくわからない。
while(angle<180){
CreateShotA(id,GetX,GetY,20);
SetShotDataA(id,0,1,angle,0,0,0,RED01);
FireShot(id);
angle+=30;
}
}
}
count++;//←こんなところにあっても意味無し。
//}←メインタスクはもう閉じたのでこれはいらない。
タスク自体はループでもなんでもない、ただの処理の塊だと考えたほうがいい。
ショットタスクの部分は何したいのかいまいちわからなかったからまだ未修正。
あんまりcountに頼らないほうがいいと思う。
何がしたいのか言ってくれればもっと指摘できるんだが・・・
- 108 :名前が無い程度の能力:2008/09/29(月) 00:30:27 ID:nkS4Qk6c0
- >>106
エラーの要因が複数あったので適当に解釈して
原文あまり損なわない程度に修正してみました。
{}が変な所で閉じられているのが多いのが主な要因の様子。
{}はタブでインデントつけておくと判りやすいのでクセにすると良。
ttp://coolier.sytes.net:8080/th_up3/file/th3_5829.txt
- 109 :名前が無い程度の能力:2008/09/29(月) 00:36:14 ID:KkOy9r3E0
- >>106
今すぐ"{"と"}"で括られた領域にミスがないか確かめ直すんだ!
敵画像が表示されなくなるのは大抵"}"が余計にあるせいで@DrawLoopとかがscript_enemy_mainの外に出てしまっているのが原因だから
あと、『"{"が必要です』というエラーは大抵その前の行に原因がある
エラーの出た部分の前の行をよく見てみると、何か足りなくないかい?
>頭が爆発しそうでウボァー
自分の頭の中で描いた弾幕を再現する前に、基本的な動作をしっかり理解した方がいいと思う
マイクロスレッドを使うなら、試しにヘルプの弾幕をマイクロスレッドに書き換えてみるといいんじゃないかな
- 110 :名前が無い程度の能力:2008/09/29(月) 00:38:02 ID:MqAPeje.0
- >>106
とにかく紅茶でも飲んで落ち着いて、}をきちんと書いてあるか(又は無駄に書いてないか)確認すべし。
これ関係のエラーは正確に出てこない事が多く、最悪エラーが出ずに意図しない動作が実行されて困り果てる事になるので。という経験談。
- 111 :名前が無い程度の能力:2008/09/29(月) 00:41:29 ID:nkS4Qk6c0
- >>94が現実になってて吹いた
- 112 :名前が無い程度の能力:2008/09/29(月) 17:22:05 ID:luwo83Ac0
- >>99,101,102
ありがとうございました。
色々試してみることにします。
- 113 :名前が無い程度の能力:2008/09/29(月) 17:45:00 ID:EjMDnyvw0
- #東方弾幕風
#Title[]
#Text[]
#ScriptVersion[2]
script_enemy_main {
let imgBoss = "script\img\ExRumia.png";
let angle = 90;
let name = "";
let frame = 0;
let rand = rand_int(-180,180);
@Initialize {
CutIn(YOUMU, name, "", 0, 0, 0, 0);
SetX(GetCenterX);
SetY(GetClipMinY + 224);
SetLife(4200);
SetTimer(77);
SetScore(3500000);
LoadGraphic(imgBoss);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
MainTask;
}
@MainLoop{
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
yield;
}
task MainTask {
PlaySE("se\lazer.wav");
Concentration02(40);
loop(30){ yield; }
LaserTask;
ShotTask1;
}
task LaserTask {
let id = 0;
CreateLaserB(id, 500, 12, BLUE03, 40);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, +90, 2);
FireShot(id);
loop(60) { yield; }
}
task ShotTask1 {
let num = 8;
let ang;
let int_time = 12;
loop(num) {
ang = rand(-180, 180);
CreateShot02(GetX, GetY, 1, ang, 1, 3, AQUA03,2);
loop(int_time) { yield; }
}
}
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic(imgBoss);
}
}
>>105の方のテンプレを書き写して必要事項を書き換えました
(ここまできたらもう人の作った弾幕と言われてもおかしくないぐらいw)。
すると>>106の方のように
ang = rand(-180, 180);
に「}」をつけろと指示が出ます。が、
その指示通りに入れたり、試しに@DrawLoopの1行前に「}」を入れてみたり、
誤字を探したり、「{」と「}」の数を数えてみたりしてみましたが
やはり>>105の方の物を書き写しただけあって
ミスらしきものは見当たりませんでした。
何故でしょう?
追記
・弾の追加は後回しにしました(このスクリプトが完成してから別にためしてみる)。
・書き込みの都合上、改行を減らしています。
- 114 :名前が無い程度の能力:2008/09/29(月) 18:10:34 ID:BNkP7NKg0
- 原因は最初の記述してある
let rand = rand_int(-180,180);
こいつを消せば正常に起動する。
変数の名前(しかもローカル変数)に組み込み関数と同じ名前を使ったからこんな変なのが起こったんだと思う。
実質「}」は関係ない。
ちなみに全体制御用のタスクっていうのは、弾幕全体のタイミングの制御用のって意味な。
- 115 :名前が無い程度の能力:2008/09/29(月) 20:39:00 ID:fG3gUlV20
- 行き成りすいません
task SPShot2(x,y,v,angle,type,d){
let obj = Obj_Create(OBJ_SHOT);
let qw = 0;
let i = 0;
let shoti = [0,45,90,135,180,225,270,315];
Obj_SetX(obj,x);
Obj_SetY(obj,y);
Obj_SetAngle(obj,angle);
Obj_SetSpeed(obj,v);
ObjShot_SetDelay(obj, d);
ObjShot_SetGraphic(obj,type);
while( !Obj_BeDeleted(obj) )
{
let ii=0;
loop(length(Collis))
{
if(Collision_Obj_Obj(Collis[ii], obj)){
x = Obj_GetX(obj);
y = Obj_GetY(obj);
CreateShot01(x, y, 2, angle, BLUE32, 0);
Obj_Delete(obj);
break;
}
ii++;
}
yield;
}
}
このobjで、ショットを打っていると、少しずつ重くなっていくんですが、どうすればよいのでしょう・・・
- 116 :93 & 106:2008/09/29(月) 20:40:46 ID:0LGljgvQ0
- >>107-110
オォウ、沢山のアドバイスありがとうございます。
やはり{}の使い方が大きな問題だったようですね…。
早速書き直してみたところ、問題なく動作しました。
……もっと勉強してきますorz
- 117 :115:2008/09/29(月) 20:48:03 ID:fG3gUlV20
- ああ、すみません
それの前に、これがありました
task SPShot(x,y,v,angle,type,d){
let obj = Obj_Create(OBJ_SHOT);
let qw = 0;
Collis = Collis~[obj];
Obj_SetX(obj,x);
Obj_SetY(obj,y);
Obj_SetSpeed(obj,v);
Obj_SetAngle(obj,angle);
ObjShot_SetDelay(obj, d);
ObjShot_SetGraphic(obj,type);
Obj_SetAutoDelete(obj,true);
}
- 118 :名前が無い程度の能力:2008/09/29(月) 21:00:54 ID:Geq9YOek0
- >>115
毎フレーム弾どうしの当たり判定管理をしてるんだから重くて当然。
SPShotの方で『削除時にCollisから自分の要素を削除』を書き足せば少しは軽くなるかも。
- 119 :名前が無い程度の能力:2008/09/29(月) 21:04:32 ID:pVf7dvSM0
- >>74 >>79 >>98 >>100 >>105 >>114
の方々
どうもありがとうございました。やっと完成形になりました。
マイクロスレッドもっと調べなきゃw
てか始めて2週間なのに急ぎすぎですな。
以後、人に聞く回数を極力減らします。 すみませんでした orz
- 120 :名前が無い程度の能力:2008/09/29(月) 22:31:35 ID:EkeUGQ.k0
- ちょっと聞きたいんだけど、wikiの各種関数部品の項が
かなり寂しいから自作関数を追加しようかと思ったんだけど、需要ってある?
使い道ありそうなのあげると
・点(X,Y)が画面端+aの範囲内にあるかの判定
・上記の関数を使い座標、角度、壁からの反射する距離で反射角度を返す
・点(X,Y)から角度Aの方向の壁までの距離 *上記と組み合わせて反射レーザー等
・指定のX、Y移動量、フレーム時間、指定の行動範囲での自機追尾移動
な感じ。わかりづらくてスマン
- 121 :名前が無い程度の能力:2008/09/29(月) 22:50:13 ID:nkS4Qk6c0
- >>120
嬉しい事に始めたばかりの人が多い様なので
需要は十分にあると思われる。
- 122 :名前が無い程度の能力:2008/09/30(火) 14:27:32 ID:0VC5OLmc0
- もうちょっと視覚的に作れるようなツールがあればなー
- 123 :115:2008/09/30(火) 16:33:29 ID:XiHrbbbQ0
- >>118
分かりました。
もう少しがんばってみます。
- 124 :115:2008/09/30(火) 17:14:55 ID:XiHrbbbQ0
- >>118
ありがとうございます。
軽くなりました。
- 125 :120:2008/09/30(火) 17:26:26 ID:r8pnUnd20
- >>120 おけ、編集初めてだが活性化のため頑張ってみるよ。
- 126 :名前が無い程度の能力:2008/09/30(火) 17:27:22 ID:r8pnUnd20
- ミスった… <<121
- 127 :121:2008/09/30(火) 17:36:03 ID:jPHpElC20
- >>126
ハハハこのどじっこめ( ´∀`)σ)'д`)
- 128 :名前が無い程度の能力:2008/10/01(水) 00:10:12 ID:GU4Bf/Nk0
- 11月のテーマがっ!
- 129 :名前が無い程度の能力:2008/10/01(水) 00:10:58 ID:GU4Bf/Nk0
- じゃなくて10月かっ!
- 130 :名前が無い程度の能力:2008/10/01(水) 01:17:51 ID:7HI5k3I20
- 1年ぶりに作ったステージスクリプト、
幻想異聞録「永騒祭」 ver0.01 動作試験版
…を、投下します。
ttp://coolier.sytes.net:8080/th_up3/file/th3_5865.zip
難易度はNormal1・2面を想定、
ユーザーキーやSKIPキーも操作に使うのでご注意下さいっ
- 131 :名前が無い程度の能力:2008/10/01(水) 02:37:15 ID:7HI5k3I20
- あら…クーリエが一時的に落ちてる様子。
とりあえずスクリーンショットをば。
ttp://bbs.2ch2.net/freedom_uploader/img/1171087011/0251.png
ttp://bbs.2ch2.net/freedom_uploader/img/1171087011/0252.png
ttp://bbs.2ch2.net/freedom_uploader/img/1171087011/0253.png
ttp://bbs.2ch2.net/freedom_uploader/img/1171087011/0254.png
ttp://bbs.2ch2.net/freedom_uploader/img/1171087011/0255.png
- 132 :ミレイ ◆orK.MILLAY:2008/10/01(水) 07:53:38 ID:q0bSaEKI0
- また忘れてしまった。10代にして認知症の予感。
--投票結果(*:マイナス1)--
「空」「天気」「水*」「回転*」「食***」「台風***」「山」「魔法*」「列***」
得票|数|率|分|
-0 | 3.|13|39|「空」「天気」「山」
-1 | 3.| 6.|18|「水」「回転」「魔法」
-3 | 3.| 2.| 6.|「食」「台風」「列」
-5 | 1.| 0.| 0.|「酒」
計 |14|−|63|
■配分結果
「空」 01234 56789 ABC
「天気」 DEFGH IJKLM NOP
「山」 QRSTU VWXYZ abc
「水」 defgh i
「回転」 jklmn o
「魔法」 pqrst u
「食」 vw
「台風」 xy
「列」 z.
次の文字へ /
お題決定は東方幻想板にあるチル裏の最新スレにて、10月2日の最初の書き込みのIDの
1文字目で決定されます。とにかく10/2に一番乗りの人のIDが決定に使われます。
例えば、IDが「TOUHOU11」の場合→「T」に該当する「山」が10月のお題になります。
チルノの裏 322crn
ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/41116/1222701543/
- 133 :名前が無い程度の能力:2008/10/01(水) 18:01:30 ID:IV65YNYg0
- >>130
全体的に素晴らしい出来だと思う。
体力とスペル名はやっぱこの位の大きさがいいね。
必要かどうかはわからないけど、一応体力とスペル名は自機と重なった時
半透明になるほうがいいかも。
自機は魔理沙B装備がかっこよくて使いやすい。
チャージがあるから低攻撃力が気にならないし。
あと肉球弾がかわいい。
- 134 :名前が無い程度の能力:2008/10/01(水) 20:27:26 ID:PhsgPyK60
- >>130
プレイしましたー
とりあえずリプレイも撮ってみたのでどうぞ。
↓
ttp://coolier.sytes.net:8080/th_up3/file/th3_5873.lzh
細かいコメントは内部れあどめに同梱です。
久々にテンションの上がる良作でした。完成を楽しみにしています。
- 135 :ミレイ ◆orK.MILLAY:2008/10/02(木) 11:42:25 ID:HhIbLqFI0
- 377 名前:名前が無い程度の能力[sage] 投稿日:2008/10/02(木) 00:00:01 ID:lkfWYIa6O
yonakada-
今月のテーマは「回転」に決まりました。回転避けを強要するスペルが何枚出ることか…。
↓今までの決定に使われたID、およびテーマ。
02月:edGPWisk0 (風/-1)
03月:PI1V60Ck0 (台/-0)
04月:rw2IFCik0 (進化/-2)
05月:pIzohUu.0 (環/-0)
06月:eqIvM0dk0 (道/-0)
07月:5UYlNpK60 (火/-0)
08月:PEC1U.IU0 (破/-0)
09月:zyjh7lkQ0 (秋/-2)
10月:lkfWYIa6O (回転/-1)
過去の結果の2/3が小文字に入ってるのは誤差の範囲。
- 136 :名前が無い程度の能力:2008/10/02(木) 21:08:53 ID:sFPQTapc0
- ステージスクリプトを作っているのですが、どうもうまくいきません。
CreateEnemyFromScriptを使うと固まってしまいます。
どうしたらいいでしょうか?
ttp://coolier.sytes.net:8080/th_up3/file/th3_5886.zip
- 137 :名前が無い程度の能力:2008/10/02(木) 21:21:49 ID:376EFWoE0
- CreateEnemyFromScriptをいきなり実行すると落ちるのでyieldを挟みましょう
- 138 :名前が無い程度の能力:2008/10/02(木) 21:33:08 ID:sFPQTapc0
- >>137
ありがとうございます。
@Initializeの部分で、Create〜を呼んでいたんですね。
- 139 :名前が無い程度の能力:2008/10/02(木) 22:34:00 ID:c.2.z5as0
- 弾幕風ヘルプを見ながら作ったのですが、
SetScoreは未定義の識別子です(33行目)
という警告が出ます。
何処を直せば正常に動きますか?
ttp://coolier.sytes.net:8080/th_up3/file/th3_5887.txt
- 140 :名前が無い程度の能力:2008/10/02(木) 23:58:28 ID:5w2sjYOU0
- >>139
敵スクリプト自体を別ファイルにしてCreateEnemyFromFile関数で呼び出すようにすれば解決します。
でもなんでこんなエラー出るのかよく分かりません。
(SetScoreを消すと今度はSetLifeに未定義エラーが出てしまう)
あと、敵は画面外自動削除されないので、敵を倒さず画面外に出るまで放置するとハマります。念のため。
- 141 :名前が無い程度の能力:2008/10/03(金) 07:26:35 ID:0AzY5gPk0
- コンテストは回転かー。改めてテーマにするとなると難しいな……
- 142 :名前が無い程度の能力:2008/10/03(金) 13:45:44 ID:s.nHkbpM0
- ケロちゃんの鉄の輪や蛙狩りみたいに、画面内を回るスペルってのがなかなかうまく作れん
どうしてもどっかで見たようなスペルになってしまう
- 143 :名前が無い程度の能力:2008/10/03(金) 14:27:00 ID:Bq3quwes0
- >>142
ちょっと分野違うけど、物書きの心得にこんなものがありますよ。
『完全なオリジナルなどない』
そういうわけで、たとえ既存のコピーになったとしても、作らないよりは良い。
そのうち、既存の弾幕が潜在意識の中で結実して『オリジナル』を生み出してくれるから。
- 144 :名前が無い程度の能力:2008/10/03(金) 14:46:03 ID:8h1R5M1M0
- >>140
何とか正常に動くようになりました。
ありがとうございます。
- 145 :名前が無い程度の能力:2008/10/03(金) 21:29:01 ID:7hs1kCRY0
- 衣玖さん自機の更新&追加Ver置いておきます。
↓
自機スクリプト 永江衣玖 Ver1.10
ttp://coolier.sytes.net:8080/th_up3/file/th3_5897.lzh
- 146 :名前が無い程度の能力:2008/10/03(金) 21:51:09 ID:2DgNXYT20
- >>143
俺の尊敬する作家も「人は見たようにしか書けない」っていってた。
ところで、拡大縮小できる弾を作るには、レーザーオブジェクトでwidthとlengthを変化させるか
エフェクトで作るか以外に軽い方法ないかな。
- 147 :名前が無い程度の能力:2008/10/03(金) 22:36:25 ID:x0juK3Uw0
- 高速カードバトル 弾幕ニムト!をバージョンアップしました。
主にキャラ追加とか。
ttp://www5d.biglobe.ne.jp/~end2001/danmaku/DN.html
フルパッケージだとセーブデータが上書きされるので、旧Ver.持ってる方は
差分ファイルをどうぞ。
- 148 :名前が無い程度の能力:2008/10/04(土) 01:32:59 ID:svheR2dg0
- >>133,134
感想ありがとうございます。
返信が長くなりましたのでtxtに纏めました。
ttp://coolier.sytes.net:8080/th_up3/file/th3_5901.txt
- 149 :147:2008/10/04(土) 02:45:50 ID:SNU52NT60
- 不具合が発覚したので修正しました。(URLは>>147)
この書き込み以前にDLした方は、お手数ですが再度DL願います。
差分ファイル上書きでOKです。
v2.00のリプレイはずれるかもしれません。
毎度毎度すみません…
- 150 :名前が無い程度の能力:2008/10/04(土) 17:03:26 ID:cD0awDU60
- CreateEnemyFromScriptでボスを呼び出すと、
体力ゲージや残り時間が表示されません。
表示するにはどう書き換えれば良いのでしょうか?
- 151 :名前が無い程度の能力:2008/10/04(土) 17:07:48 ID:309dhRTE0
- >>147
製作お疲れ様です。さっそく遊ばせていただきました。
v1.03よりも勝ち星が伸びやすくて面白かったです。
Another Ex 36win (v2.00)
ttp://coolier.sytes.net:8080/th_up3/file/th3_5911.zip
二周目完走を目前に撃沈・・・
- 152 :名前が無い程度の能力:2008/10/04(土) 17:25:16 ID:reS41CY.0
- >>150
CreateEnemyBossFromFile
弾幕風ヘルプのステージ専用関数のところに書いてあるよ
- 153 :147:2008/10/04(土) 18:29:56 ID:SNU52NT60
- >>151
ありがとうございます。
こんなに頑張ってもらったのにv2.00のリプレイ互換消えてしまって
ごめんなさいごめんなさい…
現在v2.02が最新版です。
v2.01→v2.02は特に害のないバグの修正ですので、アップデートは
してもしなくても結構です。v2.01のリプレイには影響ありません。
- 154 :名前が無い程度の能力:2008/10/04(土) 18:38:00 ID:cD0awDU60
- >>152
見逃していました、すみません。
そしてありがとうございます。
- 155 :名前が無い程度の能力:2008/10/04(土) 18:59:58 ID:oZ0Xqw/.0
- EXTRAモードの初期メンバーが開始前に設定したメンバーになるのは仕様?
- 156 :147:2008/10/04(土) 19:05:39 ID:SNU52NT60
- 仕様です
少しは攻略性が出るかなと思って
- 157 :名前が無い程度の能力:2008/10/04(土) 19:48:14 ID:r4Hiunao0
- >>147
何だか難易度が急上昇した気がするのですが、思考パターンとか変えました?
前は差し込まれることなんて滅多になかったのが、ガンガン突っ込んでくるような
[29][32]のならびの時に[36]出すと、[33][34][35]と綺麗に差し込まれて乙るのが多発するorz
- 158 :147:2008/10/04(土) 20:42:10 ID:SNU52NT60
- 旧キャラの思考パターンは変えていません(旧版のリプレイ互換のためにも)
新キャラ4名はNORMALに毛が生えた程度の思考パターンとなっています
基本的に安牌を持ってると優先的に出しますので…まあ運が悪かったということで
- 159 :前スレ330:2008/10/04(土) 22:32:21 ID:swItJkXU0
- 幻想板に移ってからかなり放置状態になってしまった……。
そんなこんなで新たにアリス風2体。
ttp://coolier.sytes.net:8080/th_up3/file/th3_5916.zip
某自機は未だ試行錯誤中です……
前スレ990でのアドバイス
『高速移動時または敵がいないときは自機周囲を旋回(攻撃判定あり)、低速時は敵に体当たり』
がうまく実装されない……。
ルーミア流用の改変だと、「自機周囲を旋回(攻撃判定あり)」部分は実装できるものの、低速に切り替えると、オプション(弾)がどこかへ飛んでいってしまい、画面上から消えて後に、自機から再召喚されてしまう……。
どうしたものか…
- 160 :名前が無い程度の能力:2008/10/05(日) 02:24:38 ID:Sti5T7Eo0
- おひさー
久しぶりに自機投下していきますね
レミリア・スカーレット 緋想天風 ver1.00
ttp://tsukikagi.gozaru.jp/file/Remillia_hst.zip
- 161 :名前が無い程度の能力:2008/10/05(日) 10:28:05 ID:IqWhaYnM0
- ちょっと質問ですが、
PlayMusicで音楽を呼ぶ時に、ファイル名をしっかり入力しているのですが、
ならないんです。
原曲などはなるんですが・・・。
モノラルは、(曲が)鳴らない、ビットレートは〜からとか、
条件があったりするんですか?
- 162 :名前が無い程度の能力:2008/10/05(日) 18:29:54 ID:Bsk3Y3F.o
- その手のファイルはもしかするとWindowsMediaPlayerで読み込めても
GomPlayer等で読み込めないとか(又はその逆)ファイル自体の問題の可能性が。
楽曲再度DLしたり編集ソフトで再出力すると治るかもよ
- 163 :名前が無い程度の能力:2008/10/06(月) 00:10:37 ID:VeHjFRsg0
- LoadMusicを忘れるとならないことがある…かも。
LoadGraphicを忘れた画像は(自分の環境では)出ませんから、それと同じ感じで。
- 164 :名前が無い程度の能力:2008/10/06(月) 12:01:04 ID:ESH1ygFQ0
- 読み込んだ画像をこんな風にして、
雑魚が羽ばたくアニメーションを作ろうとしたのですが、
3コマ目がうまく表示されません。
画像を見ても3コマ目の画像はちゃんと表示されています。
他にいい方法はありませんか?
task img{
loop{
SetGraphicRect(0,0,31,31);
wait(30);
SetGraphicRect(32,0,63,31);
wait(30);
SetGraphicRect(64,0,31,31);
wait(30);}
}
- 165 :ミレイ ◆orK.MILLAY:2008/10/06(月) 12:37:07 ID:HLhfDjBI0
- >>164
3コマ目の設定が間違っているようです。正しくは
SetGraphicRect(64,0,95,31);
のようです。
- 166 :名前が無い程度の能力:2008/10/06(月) 12:59:48 ID:ESH1ygFQ0
- >>165
ちゃんと表示されました、ありがとうございます。
- 167 :名前が無い程度の能力:2008/10/06(月) 19:47:44 ID:p.nNwPiE0
- >>159
プレイしましたー
・耐久スペルの場合、耐久スペルだとプレイヤーに理解してもらうためにボスを半透明にするとか工夫が欲しいかも。
・陰陽弾の画像は「HAL900のぺえじ」(弾幕風wiki関連リンク参照)に素材があるのでそれを利用してみるとか。
・博麗の紅白人形はランダム要素が強すぎるかな。難しい時と簡単な時のギャップが大きかったです。
・永夜の蓬莱ニートは名前がひどいものの自機狙いを上手く誘導していく感じが楽しい良バランスでした。
……名前はひどいですが。
>前スレ990でのアドバイスがうまく実装されない……。
具体的にどういう感じになってるのか現物を見ないとコメントできませんが、
「画面上から消えて後に、自機から再召喚される」というのは、
「オブジェクト弾が画面外自動削除ラインを越えたせいで削除されてしまった」のが原因です。
弾幕風ヘルプのオブジェクト制御関数の中に、自動削除させない関数があるのでそれをまず適用させてみてください。
- 168 :147:2008/10/07(火) 02:01:42 ID:hL7wZXbY0
- 流石にいい加減にしろと言われそうですが、>>147が不具合修正により
v2.03になりました。
(Exでパチェが去った後でも特殊技効果が続く場合がある不具合)
該当の不具合が起きているリプレイは、多分ずれます。
本当にすみません…
- 169 :名前が無い程度の能力:2008/10/07(火) 13:07:29 ID:1FP5/0tY0
- 弾幕風の外枠を変えるにはどの関数が使えますか?
- 170 :名前が無い程度の能力:2008/10/07(火) 18:20:24 ID:dkbMnfRY0
- >>169
ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/products/th_dnh_help_v2_data/function_v2.html#FuncObjEffect_SetLayer
- 171 :名前が無い程度の能力:2008/10/07(火) 19:14:54 ID:7xSy6ZJQ0
- >>162,>>163
ありがとうございます。
色々と試してみます。
- 172 :名前が無い程度の能力:2008/10/07(火) 23:32:51 ID:RhN8VzeM0
- >>170
ありがとうございます、さっそく使ってみます。
- 173 :名前が無い程度の能力:2008/10/08(水) 00:54:15 ID:QNPGaXWk0
- 外枠が表示されません+強制終了のおまけ付き\(^o^)/
task flame{
let img = "script\stage\img\frame_blank.png";
LoadGraphic(img);
let obj = Obj_Create(OBJ_EFFECT);
Obj_SetPosition(obj,0,0);
Obj_SetAutoDelete(obj,false);
ObjEffect_SetTexture(obj,img);
ObjEffect_SetLayer(obj,8);
}
- 174 :名前が無い程度の能力:2008/10/08(水) 02:20:57 ID:wQ5m55.Q0
- >>173
んー、外枠が表示されないのは単にポリゴン張ってないからだとして強制終了はなんだろね。
スクリプト起動と同時にLoadGraphicで落ちてる可能性もあるから
LoadGraphicをコメントアウトしたり最初にyield挟んだりして
タスクの起動が出来るかどうかって所から試してごらん。
//回答ここまで
そういえば自分はファイルパスに関してあまりよく考えた事がないのだけども
>>173の
let img = "script\stage\img\frame_blank.png";
の様な絶対パスってユーザの使用環境にかなり影響受けるのかな。
- 175 :名前が無い程度の能力:2008/10/08(水) 05:09:13 ID:i5fqx9BE0
- >>173
弾幕風wikiのTipsみたら
>ObjEffect_CreateVertex?などのエフェクトオブジェクト関数の使い方を間違えるとWindowsごとブルースクリーンで落ちる。
ってバグがあったから、エフェクトオブジェクトの頂点設定してないのが怪しい
念のためだが、外枠変えるだけならTipsのデフォルト画像の変更の指示に従えばできるぞ
- 176 :名前が無い程度の能力:2008/10/08(水) 08:30:12 ID:RKfjSNPI0
- >>174の言うとおり仕様環境(というかディレクトリの管理のしかた?)にかなり影響を受ける。
実際そう言うファイルのパスはそのスクリプトファイルからの相対パスになるように、
let csd = GetCurrentScriptDirectory;
let img = csd ~ "(相対パス)";
と書くように俺はしてる。まぁ個人で使うんならそういう修正は後回しでも大丈夫だと思う。
- 177 :名前が無い程度の能力:2008/10/08(水) 12:49:27 ID:SU498twQ0
- >>174-176
デフォルト画像の変更でできました、
本当にありがとうございました。
- 178 :名前が無い程度の能力:2008/10/08(水) 16:39:11 ID:Y29TDKZM0
- >>175
自分も、そうなりました。
ブルスクリーンって言うか、前も言いましたが、画面サイズや、パソコンに使用するカラーが、16bit
になってましたw
結構怖かったですねw
それ以来弄ってませんwwww怖くてwwww
- 179 :今スレ119:2008/10/09(木) 11:51:20 ID:lXxHo2IM0
- あれからどうにか自力でスクリプトを書けるようになりました。感謝です
また、今度は描写関係で訊きたい事があるので多レスにならないよう
まとめて書きます。
・タスク関係を書いたらボスが描写されなくなった
(タスクを付ける前同様let imgBoss = ".\img\ExRumia.png";・LoadGraphic(imgBoss);・DrawGraphic(GetX, GetY);を使っています)
・魔方陣(素材)を特定位置に描写したい
(弾幕風ヘルプに「弾動作スクリプトで描ける」とありましたが、よく解らなかったので
その使用法説明、または代わりになる関数の紹介)
・風神録のケロちゃんの後ろに蛙が出るように
ボスの後ろに別の絵を半透明で描写したい
ずいぶん我が儘な事言っているような気がしますが(特にボスの後ろに絵を描く事)
よかったら助言宜しくお願いします(人に訊くの何度目だ・・・orz
- 180 :名前が無い程度の能力:2008/10/09(木) 12:33:36 ID:X/4rrxu6o
- >>179
○○ができないって場合はそのコード出して貰わないと
具体的なアドバイスしにくいのでコードのサンプル提出オススメ。
>魔法陣を特定位置に描写したい
弾スクリプト・エフェクトオブジェクト・敵スクリプト内のDrawloop
で可能、出先の為使用例のサンプルコードは割愛。
>ボスの後ろに画像描画
エフェクトオブジェクト・ボス内Drawloopで可能。
あなたに出来る善行はDrawloopの使い方を覚えることよ。
ってえーきさまが言ってた
- 181 :今スレ119:2008/10/09(木) 14:28:55 ID:lXxHo2IM0
- #東方弾幕風
#Title[]
#Text[現行スレの方々のお陰で完成した初めてまともな弾幕]
#BackGround[IceMountain]
#Player[FREE]
#ScriptVersion[2]
script_enemy_main {
let imgBoss = ".\img\ExRumia.png";
let angle = 90;
let name = " ";
let frame = 0;
@Initialize {
CutIn(YOUMU, name, "", 0, 0, 0, 0);
SetX(GetCenterX);
SetY(GetClipMinY + 224);
SetLife(2850);
SetTimer(77);
SetScore(3500000);
LoadGraphic(imgBoss);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
MainTask;//全体制御用タスク
}
@MainLoop{
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
yield;
}
//全体制御用タスク
task MainTask {
Concentration02(40);
loop(30){ yield; }
LaserTask;//レーザータスク呼び出し
ShotTask1;//ばら撒きタスク呼び出し
}
//レーザータスク
task LaserTask {
let id = 0;
CreateLaserB(id, 500, 40, BLUE03, 40);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, +90, 1);
FireShot(id);
}
//ばら撒き
task ShotTask1 {
let ang;//発射角度変数の定義
let int_time = 4;//弾の発射間隔(時間、単位はフレーム)
loop {
ang = rand(-180, 180);
CreateShot02(GetX, GetY, 5, ang, -0.1, 1, AQUA04,3);
loop(int_time) { yield; }
}
}
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic(imgBoss);
}
}
>>180
一応これがサンプルです。
Drawloopの使い方は、確かによく知りませんでした、が
「0から始める弾幕作成 〜 東方弾幕風講座」の
「第14回」と見比べみても過不足は見あたりませんでした
(理解できていないから判らないだけかもしれません)
>>180の説明も実は理解できていません・・・。
P.S.
>あなたに出来る善行はDrawloopの使い方を覚えることよ。
ってえーきさまが言ってた
すみません 「えーきさま」って誰ですかw
東方のキャラの愛称の一つですか?
(東方は体験版しか持ってないんで、知らないキャラや弾幕が多いんですよww)
- 182 :名前が無い程度の能力:2008/10/09(木) 14:56:17 ID:S.JQtb0A0
- >>179
・DrawGraphic関数はDrawloop内で複数宣言できる
・DrawGraphic関数の描画設定はこれを呼び出すまでに指定された描画系関数の設定が反映される
・後に宣言したDrawGraphic関数のものが上に描画される
・半透明処理はSetAlpha関数
・SetRenderStateはALPHAが通常。ADDにすると輪郭が曖昧になって光ってるように見える
これだけ知っておけばやりたいことはできるはず
あとは他の人のスクリプトを参考にしてみるのもいいと思うよ
Wikiのスクリプトをいろいろプレイしてみるといろいろ発見がある
>タスク関係を書いたらボスが描写されなくなった
どこかで } が一つ余分にあってDrawloopがscript_enemy_mainの外に出てしまったと予想
- 183 :名前が無い程度の能力:2008/10/09(木) 14:58:29 ID:S.JQtb0A0
- >>181
予想通り、ShotTask1のところで } がひとつ多い
- 184 :名前が無い程度の能力:2008/10/09(木) 15:19:00 ID:S.JQtb0A0
- 一応具体例描いておこう
Drawloopを次のように書いてみれ
@DrawLoop {
SetRenderState(ADD);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
SetAlpha(100);
SetGraphicScale(2,2);
DrawGraphic(GetX, GetY);
SetRenderState(ALPHA);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
SetAlpha(255);
SetGraphicScale(1,1);
DrawGraphic(GetX, GetY);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
SetAlpha(150);
SetGraphicScale(1,1);
DrawGraphic(GetCenterX, GetCenterY);
}
画面中央に半透明のボスがいて、それとは別にボスが変なオーラまとってるようになるはず
特定位置に描写したい→DrawGraphicの中身を描写したい座標にする
違う画像を描写したい→SetTexture、SetGraphicRectを変更する
半透明にしたい→SetAlphaの引数を小さくする
ちなみに、こう書くときはInitializeの
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
は不要
- 185 :名前が無い程度の能力:2008/10/09(木) 16:55:28 ID:kMlAF8Kw0
- ここの人たちは何でも問題が解決できるように思えてきた・・・
script_enemyの「ri」がLoadGraphicしないと描写されてくれないのですが
どこが原因かわかるでしょうか?
imgBossを"script\img\ExRumia.png"にして試すと問題が起きないから不思議
なんか特殊なバグにでも引っ掛かってるんですかね・・・
#東方弾幕風
#Title[前に出てきて]
#Text[左右に分かれる]
#ScriptVersion[2]
script_enemy_main{
let imgBoss=GetCurrentScriptDirectory~"\img\ExRumia.png";
@Initialize{
SetLife(2000);
LoadGraphic(imgBoss);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);//グラフィックの矩形選択(左上右下)
TMain;
}
@MainLoop{ yield; }
@DrawLoop {DrawGraphic(GetX, GetY);}
@Finalize {DeleteGraphic(imgBoss);}
task TMain(){
SetMovePosition03(GetCenterX,GetCenterY-100,10,5);
yield;
wait(60);
SetGraphicRect(128, 0, 191, 63);
CreateEnemyFromScript("ri",GetX,GetY,0,0,0);
SetMovePosition03(GetCenterX-80,GetCenterY-100,10,5);
wait(60);
CreateShot01(GetX,GetY,0,0,RED03,0);
}
function wait(f){loop(f){yield;}}
}
//////////////////////////////////////
script_enemy ri{
let imgBoss=GetCurrentScriptDirectory~"img\ExRumia.png";
task TMain{
yield;
SetMovePosition03(GetCenterX+80,GetCenterY-100,10,5);
loop(60){yield;}
CreateShot01(GetX,GetY,0,0,RED03,0);
}
@Initialize{
SetLife(2000);
//LoadGraphic(imgBoss);
SetTexture(imgBoss);
SetGraphicRect(192, 0, 255, 63);
TMain;
}
@MainLoop{ yield; }
@DrawLoop {DrawGraphic(GetX, GetY);}
@Finalize {}
}
- 186 :名前が無い程度の能力:2008/10/09(木) 18:51:43 ID:S.JQtb0A0
- >>185
script_enemy_mainのと、script_enemy riのとでimgBossのパスが違うように見える
script_enemy_main let imgBoss=GetCurrentScriptDirectory~"\img\ExRumia.png";
script_enemy ri let imgBoss=GetCurrentScriptDirectory~"img\ExRumia.png";
何かが足りなかったり、余計だったりしていないだろうか?
読み込んだ画像を描画するときは、パスが完全に一致しないとダメ
- 187 :名前が無い程度の能力:2008/10/09(木) 19:22:01 ID:kMlAF8Kw0
- うおっ、本当だ
mainの方に最初に余計な\が入ってたからうまくいかなかったんですね
全然気づかなかった・・・
- 188 :名前が無い程度の能力:2008/10/09(木) 19:26:25 ID:kMlAF8Kw0
- 途中送信してしまった・・・orz
>>186
ありがとうございました。お陰でちゃんと描写されるようになりました
- 189 :今スレ119:2008/10/09(木) 20:53:51 ID:vjUYIGNo0
- >>182 >>183
>どこかで } が一つ余分にあってDrawloopがscript_enemy_mainの外に出てしまったと予想
>予想通り、ShotTask1のところで } がひとつ多い
確かに} が一つ多かったようですが( } 三つありました)、外しても何も出てきませんでした。
>>184
コピペしてみましたがこちらも駄目でした(ボスは出ない、オーラらしき物も無い)。 念のため>>184指示のスクリプトそのまま張ります。
#東方弾幕風
#Title[]
#Text[現行スレの方々のお陰で完成した初めてまともな弾幕]
#BackGround[IceMountain]
#PlayLevel[Normal]
#Player[FREE]
#ScriptVersion[2]
script_enemy_main {
let imgBoss = ".\img\ExRumia.png";
let angle = 90;
let name = "";
let frame = 0;
@Initialize {
CutIn(YOUMU, name, "", 0, 0, 0, 0);
SetX(GetCenterX);
SetY(GetClipMinY + 224);
SetLife(2850);
SetTimer(77);
SetScore(3500000);
LoadGraphic(imgBoss);
MainTask;//全体制御用タスク
}
@MainLoop{
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
yield;
}
//全体制御用タスク
task MainTask {
Concentration02(40);
loop(30){ yield; }
LaserTask;//レーザータスク呼び出し
ShotTask1;//ばら撒きタスク呼び出し
}
//レーザータスク
task LaserTask {
let id = 0;
CreateLaserB(id, 500, 40, BLUE03, 40);
SetLaserDataB(id, 0, 0, 0, 0, 20, 0, +90, 1);
FireShot(id);
}
//ばら撒き
task ShotTask1 {
let ang;//発射角度変数の定義
let int_time = 4;//弾の発射間隔(時間、単位はフレーム)
loop {
ang = rand(-180, 180);
CreateShot02(GetX, GetY, 5, ang, -0.1, 1, AQUA04,3);
loop(int_time) { yield; }
}
}
@DrawLoop {
SetRenderState(ADD);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
SetAlpha(100);
SetGraphicScale(2,2);
DrawGraphic(GetX, GetY);
SetRenderState(ALPHA);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
SetAlpha(255);
SetGraphicScale(1,1);
DrawGraphic(GetX, GetY);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
SetAlpha(150);
SetGraphicScale(1,1);
DrawGraphic(GetCenterX, GetCenterY);
}
@Finalize {
DeleteGraphic(imgBoss);
}
}
- 190 :名前が無い程度の能力:2008/10/09(木) 21:55:24 ID:S.JQtb0A0
- >>189
あー、もう一つミスがあった
let imgBoss = ".\img\ExRumia.png";
ここ、スクリプト内のパスはインクルード以外は現在のディレクトリを参照するのに . は使えない
let imgBoss =GetCurrentScriptDirectory~"img\ExRumia.png";
みたいにGetCurrentScriptDirectory関数を使う必要がある
- 191 :名前が無い程度の能力:2008/10/09(木) 21:56:36 ID:DiOf0J.U0
- >>189
let imgBoss = ".\img\ExRumia.png";
ロベール氏の弾幕風講座にも載ってますが、".\"はこういうときには使えません。
- 192 :名前がない程度の能力:2008/10/09(木) 22:52:46 ID:X9hMGJ060
- 課題や今の話題には関係ないですが、質問です。
フォルダ1(弾幕風本体のあるフォルダ)―フォルダ2―フォルダ3─┬─イメージ───イメージ.png
│
└─スクリプト──スクリプト.txt
エクスプローラが上のようになっている時、スクリプト.txtにおいて
イメージ.pngを読み込むにはどうすればよいでしょうか?
ただし、フォルダの変更やDLなどの関係上、遡るフォルダはフォルダ3までにとどめたいです。
- 193 :名前がない程度の能力:2008/10/09(木) 22:55:28 ID:X9hMGJ060
- >>192
ミスりました。フォルダ「スクリプト」はフォルダ3のなかに
置いてあります。
- 194 :名前が無い程度の能力:2008/10/09(木) 23:03:37 ID:BHacE/ig0
- >>189
DrawGraphic系統の使い方のサンプル作ってみましたのでどうぞー
ttp://coolier.sytes.net:8080/th_up3/file/th3_6027.zip
- 195 :名前が無い程度の能力:2008/10/10(金) 00:00:50 ID:JQ2ymOtk0
- >>193
恐らくどの環境でも動作すると思われるルートフォルダへのアクセススクリプトを作ってみました。
th_dnh.exeのあるフォルダ―script―for192―┬―img
. |
. └―script
の環境でテストを行いました。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6031.zip
- 196 :名前が無い程度の能力:2008/10/10(金) 00:26:53 ID:Xzx7myZw0
- >>192
スクリプト.txtからだと
GetCurrentScriptDirectory~"..\イメージ\イメージ.png";
でできます。
スクリプト内では「.\(現在のディレクトリを取得)」は使えませんが、
「..\(一つ上のディレクトリを表す)」は有効です。
余談ですが、フォルダ3にステージ.txtがあってここで画像を読み込む場合は
ステージ.txtにおいて読み込む画像のパスを
GetCurrentScriptDirectory~"スクリプト\..\イメージ\イメージ.png";
というようにしておく必要があります。(文字列を一致させるため)
こうしないとステージ側で画像を読み込んだはずなのにスクリプト.txtで表示されない、なんてことに(経験談)
共通データを使ったり、>>195のやり方のほうがすっきりするかもしれません。
- 197 :330:2008/10/10(金) 15:25:53 ID:17rIEknk0
- >>167
プレイありがとうございますー。
そろそろ敵弾幕でもオブジェクト弾を覚える頃合か……?
さておき
検証用にティア自機のやっつけ仕様を置いときます。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6040.zip
現在の問題点として……
・オプションの自機旋回は実装できるものの、敵が出現すると、どこかへ飛んでいってしまい、自機から再召喚して体当たりを行う。
・自動削除の関数をいじる(自動削除をなくす)と、オプションが帰ってこなくなる。
あと、未確認事項ですが……
・オプションが弾扱いなので、貫通上限をこえると消滅する事が予想される。
なお、やっつけ仕様なので、オプションが上手く旋回してなかったりします。
こちらでも試行錯誤は行っていきます。
さて、サンプルとなる自機を探していかねば……。
- 198 :名前が無い程度の能力:2008/10/10(金) 16:23:03 ID:8DwAGgRA0
- >>197
ちょいと覗いてみました
task slowshotのとこで貫通力設定の
ObjShot_SetPenetration(objShot, 1000000);//貫通力は適当に大きく
の後に loop{
task最後に } を一個付け足しでどこかに飛んでいかなくなりました
自機旋回まで処理が進み、敵が出現した場合に
処理が戻らずそのままtaskが終了してしまってたのが原因みたいです
あと関係無い話ですが
弾幕風wikiの自由落下弾ってスクリプト弾とか使ってるみたいですけど
CreateShot12を使うだけで十分ですよね?
- 199 :名前が無い程度の能力:2008/10/10(金) 17:41:52 ID:GzwYaLVo0
- 昔はそんな便利なものがなかったんじゃよ>>CreateShot12
- 200 :名前が無い程度の能力:2008/10/10(金) 18:05:23 ID:jnS1YLGU0
- ちょっと行き成りですいません
敵キャラの周りを回る使い間を作りたいのですが、全て同じ場所に重なってしまいます。
どうすれば・・・・良いのでしょう
(例)霊符「夢想封印 集」等
- 201 :名前が無い程度の能力:2008/10/10(金) 19:56:27 ID:Xzx7myZw0
- >>197
自機でオブジェクト弾を扱うのに慣れると敵弾幕での実装は簡単になると思います。
あの要望出した後に相当無茶を言ったと思ったので、まあ、その、作っちゃいました。
↓
ttp://coolier.sytes.net:8080/th_up3/file/th3_6043.lzh
>>197のTia.txtのあるフォルダにTia_ex.txtを放り込むと動作する……はず。
- 202 :名前が無い程度の能力:2008/10/10(金) 20:08:09 ID:Xzx7myZw0
- >>200
全て同じ場所に重なるということは、角度の初期値が全部同じになっているものと考えられます。
なので、使い魔の初期角度を変えるようにすると良いかと。
例えば、
ascent(i in 0..6){CreateEnemyFromScript("Familiar",GetX,GetY,0,60*i,0);}
という風に6体の使い魔を呼び出したとします。
この時、使い魔側でlet angle=GetAngle;とするとangleの初期値がそれぞれ
0,60,120,180,240,300という60°刻みになります。(60*iの部分)
後はこの変数angleをだんだん変化させていけば上手くいくのではないかと。
- 203 :名前が無い程度の能力:2008/10/10(金) 20:12:09 ID:Hz6UAfbQ0
- >>200
敵スクリプトを使用しているなら、第6変数に初期角度を入れて、敵スクリプト内でGetArgumentを使って呼び出す。
第6変数には文字列も配列も入れられるからすごく便利。
- 204 :名前が無い程度の能力:2008/10/11(土) 08:30:51 ID:2oXSPjFA0
- >>202
>>203
ありがとうございます・・・。
>>202
がんばってみますねw
>>203
そういえば、GetArgumentを忘れていました・・・w
- 205 :前スレ330:2008/10/11(土) 09:38:07 ID:esBKixsM0
- >>198と>>201
全部確認しましたー。ご助力ありがとうございます。
閉じミスなのにエラーが起こらず動いてた事実に驚く反面、凹むばかりです。
- 206 :189:2008/10/11(土) 11:04:29 ID:aSTcHGlc0
- >>190 >>191 >>194
どうも有難うございました。解決いたしました(特に>>194の方)。
どうも自分は思いこみが激しいですね
DrawLoopで
//敵描写
SetTexture(imgA); //テクスチャ選択
SetRenderState(ALPHA); //描画方法宣言
SetGraphicRect(0, 0, 64, 64); //テクスチャ切出範囲
SetGraphicAngle(0,0,0); //回転角度
SetGraphicScale(1,1); //表示サイズ変更
DrawGraphic(GetX,GetY); //描画実行
//オプション魔法陣描画
SetTexture(imgB); //テクスチャ選択
SetRenderState(ADD); //描画方法
SetGraphicRect(0,0,192,192); //テクスチャ切出範囲
SetGraphicAngle(0,0,B_Angle); //回転角度
SetGraphicScale(0.75,0.75); //表示サイズ変更
DrawGraphic(45, 28); //左上魔法陣描画実行
DrawGraphic(405, 28); //右上魔法陣描画実行
DrawGraphic(45, 449); //左下魔法陣描画実行
DrawGraphic(405, 449); //右下魔法陣描画実行
たとえばこう書くと
imgAにする指示がimgBにもいきそうに見えるんです
(「{」と「}」で括ったりしないから)
どうして指示がちゃんと分かれるのでしょう?(使えたから別に良いんですけどねw)
次は自分で考えたキャラをドット絵で描こうとしています。
ツールは見つけたので頑張りたいです。
たしか、天候(気候)を司ったキャラはまだ東方にいませんでしたよね?
(水や光とダブりそうw)
- 207 :名前が無い程度の能力:2008/10/11(土) 11:44:05 ID:G0tJiwY20
- >>206
思い込みというか、スクリプトを複雑なものと考え過ぎているんじゃないか
単純に上から順番に命令を処理していくだけだぞ
だから同じ関数を呼び出すと、設定されなおすわけだ
試しにオプション魔法陣描画のSet〜関数のどれかを削ってみるといい
敵描写側の設定がそのまま適用されるから
- 208 :名前が無い程度の能力:2008/10/11(土) 12:19:53 ID:SSqCXxr60
- ttp://coolier.sytes.net:8080/th_up3/file/th3_6062.lzh
自機スクリプト 十六夜咲夜 特殊装備
スキップキーまで使うのでキー配置に注意。
- 209 :名前が無い程度の能力:2008/10/11(土) 18:33:53 ID:SHsrfiZk0
- ネタがかぶる前に いち早く公開したもん勝ち ですよね?
- 210 :名前が無い程度の能力:2008/10/11(土) 18:49:37 ID:FghCNHZ60
- >>208
わんこなつかしいなぁ
- 211 :名前が無い程度の能力:2008/10/11(土) 19:10:00 ID:2oXSPjFA0
- あの・・・
1日考えたけど、うまくいかないので、聞いてみます
風神録の早苗さんの、「海が割れる日」のレーザー?を実装したいんですが、
うまくいかないんです。
いい方法・・・無いですかね・・・。
- 212 :名前が無い程度の能力:2008/10/11(土) 19:21:41 ID:fqp7L2b60
- 少し前にもあったな
設置型レーザーを長さ変えながら降らせばいいんじゃないの
オブジェクトとタスクでさ
- 213 :ミレイ ◆orK.MILLAY:2008/10/11(土) 19:28:28 ID:bJrsMn2w0
- 弾幕風コンテストに関して、お詫び申し上げます。
本日19:15分頃、アップロードのミスでCGI内の一部ログ(2007年12月)が変になってしまいました。
修正作業を行い、得点などは以前通り表示されるようになりましたが、
評価者のコメントの改行が消えてしまいました。本当にすいませんでした。
- 214 :名前が無い程度の能力:2008/10/11(土) 19:55:42 ID:3P5pHFvg0
- >>211
左側のレーザーと右側のレーザーの間隔は自明だから、
左側のレーザーの右端がわかれば右側のレーザーの左端もわかる。
間隔が右に動くか左に動くかは、予め情報をどこかに持っておいて、
そこに許容内の振れ幅を加える。
コード書くときは、日本語でも英語でも、言葉で確信しておくといいですよ。
そうすれば最悪でも力押しが通る。スペック不足は時間が解決してくれる。
- 215 :名前が無い程度の能力:2008/10/11(土) 22:55:58 ID:kI9xIpo20
- >>206
>>天候(気候)を〜
天子がいる。
自由自在じゃないし正確には本人の能力じゃないけど一応。
- 216 :名前が無い程度の能力:2008/10/12(日) 00:54:06 ID:GW57bAro0
- 前の人と同じだが、挙動を完全にイメージして「文章に具体的に」することが必要だな。
弾幕を文章で表す?できるわけないじゃーん!って思うなかれ。
日本語で表現するかプログラム言語で表現するかの差にすぎない。
プログラムができているならその動作構造を日本語に直すのも練習になるだろう。
すべてのものに以下のものを作成せよ。
「何」「出現条件」「初期設定」「動作」「描画」「終了条件」「終了後処理」
「ボス」「ステージ最終ザコが死亡」「初期位置は画面上側中央」「弾幕Aを10フレームごとに繰り返す」「ライフが尽きるかタイムアップ」「次のスペルカードへ」
「弾幕A」「関数として呼び出される」「何発の弾を作ったかカウンタの初期化」「指定Way弾」「半透明・加算合成」「一定時間または画面外」「自己消去と自分の位置に弾幕Bの作成」
「弾幕B」…
あとはフローチャートをぐぐれ。
- 217 :名前が無い程度の能力:2008/10/12(日) 15:07:58 ID:D3oQkde20
- >>212,214,216
ありがとうございます。
参考になりました
- 218 :名前が無い程度の能力:2008/10/13(月) 03:21:49 ID:4gLmuh2c0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_6105.zip
お久しぶりです。「音楽と弾幕を〜」作者です。
1作目を60Fpsに調整完了しました。これで最速環境でもズレない、はず。
2作目と専用自機も同梱していますが、2作目は未調整です。
ところで、弾幕風プレイ動画を撮影している方にちょっと質問を。
自分の使っているソフトを使うと、どうも音がずれたり、カクカクしたり、チカチカしたりして不快な動画になってしまいます。
綺麗に動画を撮影できるソフトってないでしょうか?
スレ違いだったら申し訳ない。
- 219 :名前が無い程度の能力:2008/10/13(月) 03:27:01 ID:nrg4myg60
- とりあえず過去に使ったソフトを明記するべきだと思います
- 220 :名前が無い程度の能力:2008/10/13(月) 03:41:51 ID:4gLmuh2c0
- >>219
う、そうでしたね。申し訳ない。
DxCapture(音ズレ+画面がカクカク)
アマレココ(画面がチカチカ)
ディスプレイキャプチャー あれ(全画面録画ができない)
カハマルカの瞳(同上)
窓録(同上)
※動画の都合上全画面撮影は必須
以上です。
- 221 :名前が無い程度の能力:2008/10/13(月) 09:52:26 ID:HOEPDxkI0
- Display2AVI (全画面可能 右下に不透明な文字が入る)
- 222 :ミレイ ◆orK.MILLAY:2008/10/13(月) 11:03:13 ID:1GzQN38E0
- 自分流には
・リプレイを撮る
・オプションで「フルスクリーン/ウェイトにタイマーを強制」にする
・D3DWindowerで撮りたいサイズに変える(youtubeなら320x240、ニコニコ動画なら512x384、etc)
・弾幕風を起動してAlt+Enterを2回押す(これをやらないとサイズが正しくなりません)
・Display2AVIでキャプチャ
- 223 :206:2008/10/13(月) 15:46:39 ID:ynMJ32Kw0
- >>215
やっぱり持ってないので知らない事は多いのですが
東方wikiには
大地を操る程度の能力
気質を見極める程度の能力(緋想の剣の能力)
とありました。また、
(前略)
「自分の起こした異変を解決されたいから」という、前代未聞の理由で
幻想郷の天候をいじり、博麗神社を瓦礫の山にした。
(後略)
とも書いてありましたが一回きりでしょうし。[雷神「武甕槌神(建御雷之男神)」の象徴とも言われる(が、多分天子とは関係ない)。]
と書いてあるので雷しか使えないのでしょう
(こっちは日の光・雨・雪・雷・強風・虹が全て使える代わり、そのそれぞれの専門分野の人に劣るようにした)。
ダブったとは思っていません
(もう名前もスペルも決めてドット絵も描いてしまったので後には退けないというのが事実)。
弾幕はまだまだ地味なので投稿とかは出来ません(数は揃ってきたけどw)
- 224 :名前が無い程度の能力:2008/10/13(月) 16:54:50 ID:PMDamEbMO
- >>223
カブってないと思うんなら別にそれでもいいんだけどさ
端からは緋想天オマージュにしか見えないということは忘れない方がいい
- 225 :名前が無い程度の能力:2008/10/13(月) 18:31:18 ID:3IxsVKoM0
- >>223
うーん、その、なんだろう。
君はこちらに行くと喜ばれるか否定されるかまぁ色んな反応が返ってくると思うの
ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/41116/1220585521/
- 226 :名前が無い程度の能力:2008/10/13(月) 19:59:36 ID:iErgBvWU0
- バランス調整等できたので、どうぞ
レミリア・スカーレット 緋想天風 ver1.10
ttp://tsukikagi.gozaru.jp/file/Remillia_hst.zip
- 227 :名前が無い程度の能力:2008/10/14(火) 00:47:41 ID:nzS/7Dvw0
- >>223
それがすべてではないと思うけどオリキャラの設定が天子にかぶりすぎで、専門分野〜のところやらは特にそう感じた。
あと、雷はイクね。
とりあえず緋想天をやらないことにはダブったダブってないはいえないと思うんだ。
- 228 :名前が無い程度の能力:2008/10/14(火) 00:54:25 ID:7wIjI69Y0
- そもそも東方を知らないのに東方二次的なモノを作ろうだなんて、
お里が知れるってもんですね
- 229 :名前が無い程度の能力:2008/10/14(火) 10:20:04 ID:IV77FbiM0
- 東方を深部まで知らないからこそできる表現があるかもしれない
そうして面白そうな作品が出来るなら、それは素晴らしい事
- 230 :名前が無い程度の能力:2008/10/14(火) 13:20:30 ID:YVaa0hR.0
- 深部まで知らない表現は深部まで愛する人に嫌われる可能性があることは知っておくべき、東方に限らず
面白くても東方を語るなら東方の愛が伝わる設定じゃないとね、ドット絵つくっちゃった云々は言い訳にならない
東方無関係でーすなら誰も設定にケチつけないと思うけど、その文面からは東方オリキャラと言いたがっているように思える
- 231 :名前が無い程度の能力:2008/10/14(火) 14:09:45 ID:YB4cbGvk0
- 別になんでもよくね?
そもそも東方の誰かと能力がかぶってて問題あるんだろうか
悪気があってわざとかぶせたわけでもなし
皆が東方愛してるのはわかるが、俺はできるだけこの人の創作意欲を殺ぎたくない
- 232 :名前が無い程度の能力:2008/10/14(火) 22:36:04 ID:VHQtYBbo0
- 度々申し訳ない。ミゼラブル+で穂先が残るバグの修正です。これで最後だといいなっ
レミry ver1.11
ttp://tsukikagi.gozaru.jp/file/Remillia_hst.zip
もちろん何を作るのも個人の自由。
で、作ったものを公開する場合は、他の人がそれを見てどう思うか
ということを常に頭の片隅に置いておけばそれでよろしいのではないかと。
- 233 :名前が有る程度の能力:2008/10/15(水) 11:23:54 ID:bmVumEx.0
- はじめまして初心者な者です
もう出てるかもなんですが
初歩的な質問かもしれません
ライフとかのとこに新しくゲージとか増やすにはどうすればいいんですか?
馬鹿じゃねぇの?と思う人は聞き流して頂いて結構なんですが
困ってます
教えて下さい<(_ _)>
- 234 :名前が無い程度の能力:2008/10/15(水) 20:49:56 ID:NjTGfXQY0
- 新しくゲージを作るってのは
エフェクトオブジェクトとか使えばいいのだろうけど
初心者向けでは無いかと
弾幕風なんだからゲージとか作る前に弾幕作ろうぜ
あとメール欄にはsageと入れて、半年ROMるといいよ
- 235 :名前が有る程度の能力:2008/10/16(木) 10:24:04 ID:gBgtCFsM0
- そうなんですか
ありがとうございます
一応色々弾幕作ってあぷろだとかにもやってるんですが
何か変わったことがしたくて
- 236 :名前が無い程度の能力:2008/10/16(木) 17:07:43 ID:aIW16Q76O
- そういったことをしている作品はもうあるはずだから、
Wikiにある作品漁ってみるといいんじゃないかな
- 237 :名前が有る程度の能力:2008/10/16(木) 17:10:29 ID:gBgtCFsM0
- 236
そうですね
ありがとうございます
さがしてみます
- 238 :名前が有る程度の能力:2008/10/16(木) 17:12:55 ID:gBgtCFsM0
- あっ
その場合って敵のほう漁ったほうがいいですか?
自機のほう漁ったほうがいいですか?
- 239 :名前が無い程度の能力:2008/10/16(木) 17:14:06 ID:HwJ7WMXQ0
- 漁りに行けばわかるよ
- 240 :名前が有る程度の能力:2008/10/16(木) 17:15:54 ID:gBgtCFsM0
- なるほど
なんか深い言葉だ
漁ってみます
- 241 :名前が無い程度の能力:2008/10/16(木) 17:24:52 ID:WOcUdx1w0
- とりあえず全部だ。冗談抜きで。
プレイしてみて気になるものがあればスクリプトの中身を覗く→コピペ改変してみる。
変わったことをしたいときは基本をしっかり身につけるのが重要だぜ。
- 242 :名前が無い程度の能力:2008/10/16(木) 18:44:51 ID:FGwqB7520
- コンテストは毎月全作品プレイしてんのにwikiのはプレイしたことないなぁ
なんかお勧めのありますかね?
参考になるとかじゃなくて、これ面白いよっての。
- 243 :名前が無い程度の能力:2008/10/16(木) 23:22:56 ID:PAr2zTQI0
- >>242
弾幕をプログラム的詳細に語ることは一意にできるが
誰が何を基準にどうして面白いか・参考になるかなんて千差万別すぎて回答できん。
世界で一番強い生き物は?という質問で人間は含むかとかウィルスは含むかとか未発見の宇宙人も含むかとかそういうレベルで指定が足りない。
全部やれ。全部無料なんだから。
- 244 :名前が無い程度の能力:2008/10/17(金) 00:11:39 ID:.Oe6dHos0
- >>242
紹介所の中の個人的オススメ抜粋。長くてごめんね。
西行時幽々子ステージスクリプト
ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi?log=&page=&key=20080126172521&action=html2
幻想アナザーワールド
ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi?log=&page=&key=20080126184856&action=html2
幻想アンダーワールド
ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi?log=&page=&key=20080126205514&action=html2
東方改季録
ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi?log=&page=&key=20080127162853&action=html2
ガルーダの嵐
ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi?log=&page=&key=20081016220910&action=html2
ふたオリ風ステージ
ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi?log=&page=&key=20081016221625&action=html2
高速カードバトル 弾幕ニムト!
ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi?log=&page=&key=20081016222304&action=html2
東方山田風
ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi?log=&page=&key=20081017000128&action=html2
- 245 :242:2008/10/17(金) 02:34:32 ID:7selQMzw0
- >>244
ありがとう。やってみる。
- 246 :名前が無い程度の能力:2008/10/17(金) 07:50:44 ID:TtTBbcrA0
- >>242
東方弾幕風プレイヤー総合スレッド 4.5
ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/6306/1205954689/
で話題になってるのをやってみるとよいかも
あと、
東方弾幕風 スクリプト紹介所
ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi
も見てみるとよいかも。んで面白いの見つけたら更新してみるとなおよいかも
- 247 :名前が無い程度の能力:2008/10/18(土) 23:23:56 ID:OpadyVPM0
- お題が回転なのはわかりやすくていいけれど
遊んだり作ったりしてると目が回って困る
ところで、弾画像のBLUE21がかなり暗めの色に見えて
妖々夢のチルノの弾と比較したらやっぱり暗い色で
その他の弾もなんとなく全体的に暗めになってるように感じたんだが
明るめにするためには弾画像の編集をしなくちゃいけないんだろうか
- 248 :名前が無い程度の能力:2008/10/19(日) 00:19:24 ID:AQE7vbLU0
- 編集すればいいんじゃね?
確かに青だけ異質に感じる
原作に慣れてると赤や青の米粒弾にも違和感
あと判定が小さいから難易度調整が難しいよね
- 249 :名前が無い程度の能力:2008/10/19(日) 00:22:05 ID:WWMcaDU60
- 鱗弾はデフォ弾でも夢終劇弾でも暗いですね。
本家っぽく近づけるならやはり描くしか…
ちなみに本家の鱗弾って一色に対して2パターン作ってあるので
(黄昏酒場3面道中終盤辺り見るとよく判る)
現在主に使われてる弾仕様だと表現が合わせきれない。
- 250 :名前が無い程度の能力:2008/10/19(日) 18:40:53 ID:DLNDw8HQ0
- 弾画像がどうのこうので気になって調べてみた、紅魔だけだけだし需要あるかわからないけど参考程度に。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6243.txt
- 251 :名前が無い程度の能力:2008/10/19(日) 19:31:16 ID:eZKFoL8o0
- 普通の丸弾(RED01)
2重円の丸弾(RED04)←枠弾?
永「フェニックスの尾」の尾ひれのついた弾←炎弾?
風「光り輝く水底のトラウマ」の光り輝く弾
粒弾 「地獄の苦輪」
中弾 地6ボス通常
大弾 文・風は当たり判定大き目
クナイ弾 妖Exボス通常
剣←大きさが違うのが2〜3種類
楕円弾 風「神の粥」
札弾 永Exボス通常 霊夢
蝶弾 @
鱗弾 地「怪力乱神」
米粒弾 永「蓬莱の薬」の発狂時の黒色白色 ←形違いがあります
氷弾 先がとがっている お燐の通常
これくらい?
- 252 :名前が無い程度の能力:2008/10/19(日) 20:32:45 ID:yNTZu40o0
- あとこいしの使ったハート弾と薔薇弾とかかな
- 253 :名前が無い程度の能力:2008/10/19(日) 20:52:13 ID:SBvy1G6o0
- RED05とかより小さいのが
風神録とかにありませんでしたっけ?
お燐の通常のちっちゃいのぐらいの大きさの
- 254 :名前が無い程度の能力:2008/10/19(日) 21:07:55 ID:QV03rcnk0
- 空の超大弾
- 255 :名前が無い程度の能力:2008/10/19(日) 21:56:15 ID:yNTZu40o0
- >>253
ウイルス弾の大きさはRED05と同じだけど見難いんだよな。
それも入れるんなら地5面道中の粒目玉弾とかもあるし。
お空の太陽弾はどっちかって言うとレーザーっぽい扱いなんだよな。
どうでもいいが地4面の陰陽玉が出すあのレーザーどうなってんのかさっぱり分からん。
個人的にはお空の通常のやけにまぶしい中弾もどう再現すればいいのか・・・
- 256 :名前が無い程度の能力:2008/10/19(日) 23:39:19 ID:l7WLJ4zo0
- にとりが出す光る青弾なんかは、デフォ弾でいうBLUE01あたりの
夢終劇弾のrenderをADDにして使うとそれっぽく見える
あと、お空の超大弾はObjLaserのSetLengthとSetWidthを駆使すれば
SetShotColorで赤っぽくしたRED02とかで似せられる気がする
>>255こんなんでどうか
task laser{
let obj=[];
ascent(i in 0..6){let dir=90+i*60;//6way
let o=CreateLaser01(GetX,GetY,6,dir,80,5,BLUE05,0);//>>61>>63の応用
obj=obj~[o];
}
loop(30){ascent(i in 0..6){let o=obj[i];//30f 加速度-5/30
Obj_SetSpeed(o,Obj_GetSpeed(o)-5/30);
}yield;}
loop(30){ascent(i in 0..6){let o=obj[i];
Obj_SetSpeed(o,Obj_GetSpeed(o)+5/30);//30f 加速度+5/30
}yield;}
}
- 257 :名前が無い程度の能力:2008/10/19(日) 23:48:46 ID:HIIlxp820
- ttp://thoriginal.iza-yoi.net/main/omake/th_dm/thwiz.zip
全然弾幕してないけど、キリがいいところまで出来たので投下。
不具合があったら教えて下さい。
- 258 :名前が無い程度の能力:2008/10/20(月) 00:04:11 ID:G1QMF9yo0
- お空の核融合弾ぽいのはたしか誰かがコンテストで使ってたな
- 259 :ミレイ ◆orK.MILLAY:2008/10/20(月) 00:12:04 ID:IpYSaLLo0
- >>256
以前レーザーの当たり判定について調べていましたので一つだけ言えます。
そもそも弾とレーザーの当たり判定は違う上、SetLengthで指定した値が36以下だと
当たり判定が消失するので、レーザーで弾を再現するのはほぼ不可能です。
>>257
オリキャラ図鑑の人か!
- 260 :名前が無い程度の能力:2008/10/20(月) 01:32:52 ID:K7A63WZc0
- >>256
サンクス。あれはそういう使い方もできるのか。
>>260
つまり当たり判定用の不可視のレーザーと、当たり判定の無い(あってもいいが意味は無い)可視のレーザーを
重ねてやればいいわけですね。少々重くなってしまうけれど。
- 261 :260:2008/10/20(月) 01:34:12 ID:K7A63WZc0
- なんか安価ミスった。>>259です。
疲れてるな・・・
- 262 :名前が無い程度の能力:2008/10/20(月) 07:14:55 ID:uIXZ5RM.0
- みんな……スクリプト弾のこともたまには思い出してあげて……。
重い重いと敬遠されがちだけれども当たり判定と描画を直接指定できるから直感的にやりたいこと表現できるんだぜ。
>>255
>お空の通常のやけにまぶしい中弾
夢終劇弾のYELLOW02対応の弾でrenderをADDにして2、3発重ねればそれっぽくなるかと。
- 263 :名前が無い程度の能力:2008/10/20(月) 11:42:29 ID:S8Uco0MY0
- >>257
たまに移動できなくなることがある……けど再現性がないからなんとも
とりあえずvs永遠亭がアホ過ぎて笑ったw
- 264 :前スレ330:2008/10/20(月) 14:16:27 ID:xeVXDrZ60
- ふぅ、弾幕や自機なんかの調整はそこそこすすむけれど、最近はうまく時間が使えず困る……。
そんなこんなで1枚置いときます。輝夜風
ttp://coolier.sytes.net:8080/th_up3/file/th3_6257.zip
- 265 :名前が無い程度の能力:2008/10/20(月) 18:19:51 ID:G1QMF9yo0
- そういえば弾幕風にCとかのアドレスに当たるものってないんだっけ?
- 266 :名前が無い程度の能力:2008/10/20(月) 18:54:46 ID:.HgIESYA0
- >>265
特にないねぇ、たまにポインタとか使いたくなる時はあるけども。
- 267 :名前が無い程度の能力:2008/10/20(月) 21:16:05 ID:QPhLc6ag0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_6271.zip
KAMPさんの弾幕風素材のドット絵を引用加工して数キャラ作ってみましたがどうも違和感が・・・
キャラのドット絵は初挑戦もいいとこなんでアドバイスいただけるとうれしいです。
- 268 :名前が無い程度の能力:2008/10/21(火) 01:16:42 ID:3zYuEuwg0
- よくできてるように思う
- 269 :名前が無い程度の能力:2008/10/21(火) 06:57:10 ID:DTvgzOIg0
- >>267
初挑戦でそれなら充分すぎる。
ドットは、1ドットに4ドットや9ドットの情報を詰め込む技術らしいよ。
アンチエイリアス「だけ」で絵を描く、というか……
- 270 :名前が無い程度の能力:2008/10/21(火) 07:02:36 ID:l0mnS8pA0
- >>267
改変ドット絵は十分な出来だと思うが一つだけ言わせてくれ。
KAMPじゃねぇ、KMAPだ!
- 271 :名前が無い程度の能力:2008/10/21(火) 07:26:05 ID:OYEMQ1ug0
- >>269
その上色数制限があることも多々だから本当恐ろしいよね
正に職人技。
- 272 :名前が無い程度の能力:2008/10/21(火) 08:01:43 ID:sT74kiGI0
- >>267
ほうきに乗ったボス魔理沙作ってぇ
KMAPにも以外と無いんだよ
- 273 :名前が無い程度の能力:2008/10/21(火) 21:30:10 ID:99vb5DMo0
- >>267
初挑戦でこれはすごい
ちょうどリグルドット欲しかったので使わせてもらいます
- 274 :名前が無い程度の能力:2008/10/21(火) 23:09:34 ID:U0boaEHQ0
- >>269
デザエモンに、SSガレッガの弾とアイテムを目コピーした事があってな。
あれ色調整で、輪郭線を「半ドット」ずつズラしてんのよ。非常に安定した表現で。
8×16にしちゃあ、変に絵が細かいと思ったんだよ。理解した時は戦慄した。
- 275 :名前が無い程度の能力:2008/10/21(火) 23:35:02 ID:/Oye6mJA0
- 弾幕風コンテストの業務(?)連絡
「くるくる妖精」の作者さん、どうやら一つ目のスペルが同梱されてないみたいです。
もし入れ忘れなら再アップロードをお願いします。
- 276 :名前が無い程度の能力:2008/10/22(水) 00:01:47 ID:6L83WqmE0
- 入れ忘れでは無かったようなのですが、クーリエにうpしたlzhを解凍すると01だけ消滅・・・
とりあえずzipにして直しておきました
- 277 :ミレイ ◆orK.MILLAY:2008/10/22(水) 11:15:03 ID:bihZP54g0
- 本日より、弾幕風コンテスト11月分のお題候補の募集を開始します。
そんなことはともかく、肝心の月初めのIDに小文字後半が出てくるのやめて欲しいです…
つ「空」「天気」「山」
- 278 :267:2008/10/22(水) 17:55:26 ID:Ub7w8sKE0
- 加工品にもかかわらず予想外の反響が多くびっくりです。あとサイト名についてとんでもないミスをしてしまったようで、すぐに修正したいと思います。
1ドットに4ドット9ドットの情報ですか・・・参考になります。
魔理沙あたりは自分の弾幕風作品にも使いたいのでがんばりたいところなんですが、正直まだ正面向いているキャラぐらいしかまともに描けないので少々時間がかかると思います。
- 279 :名前が無い程度の能力:2008/10/22(水) 18:18:46 ID:XeLvjmsY0
- >>278
ゆっくり作っていってね!
あとお題案「花」「星」「直線」
- 280 :名前が無い程度の能力:2008/10/23(木) 00:31:57 ID:HQVnpoZs0
- >>267
これはいいリグル。
もっと>>267みたいな職人が増えるといいな。俺もがんばろう
- 281 :名前が無い程度の能力:2008/10/23(木) 08:12:43 ID:Eiy9IZn60
- >>278
ドットの練習をするなら、魔理沙の小さい星弾を描くといいですよ。8*8で16色、できれば8色。
試しに大きいほうの星を縮小してみて、その使えなさに愕然とするがいいw
外側にアンチエイリアスかけすぎると輪郭が黒ずんで使い物にならなくなるのと、
内側に強くかけないとごつごつして見た目が悪くなるという二重苦。
おまけに液晶のサブピクセルのせいで、単にパレット交換しただけだと表現が変わって……
ドット職人の時代のモニタが液晶だったら、サブピクセルまで調整したんだろうな……
- 282 :名前が無い程度の能力:2008/10/23(木) 14:00:04 ID:Nz/lJP8o0
- >スクリプトを書くには少し知識が必要みたいですし万人に受ける物ではないのかも知れないですね。
>弾幕作ろうと思ったけど、難しすぎてやめたw
>プログラミングなんて素人だから、イミフだった。
弾幕風についてこんなコメントを某所で見かけたんだが
「弾幕を視覚的に作れるようなツール」を作るとしたらどんなものになるんだろ?
フレーム数と弾幕の種類(n-wayとか全方位弾とか)を指定してそれを組み立てるみたいな?
お題案 っ「宇宙」「幾何学」「対称」
- 283 :名前が無い程度の能力:2008/10/23(木) 14:55:32 ID:Eiy9IZn60
- >>282
ざっと考えたところ、大体その通りで、ムービーメーカーの亜種になると思う。
ボトムアップ方式で小さい単位を集めて弾幕にする。
視覚的に必要なのは、パーツからスペルに至るまで表示できるプレビューと、
まさにムービーメーカーな、尺を伴う編集画面。
1.弾単体の挙動。
速さ調整可能、とかより、固定で編集不可のほうがかえって解りやすいはず。
もちろん、直接コードを書けば自由。
2.弾単体を集めて弾幕の1ストローク。
このストロークを、時間軸、X軸、Y軸の上に置くのを基本とする。
(最低、これだけで成り立つってこと。耐久弾幕ですね)
3.弾幕のストロークを妖精さんやボスに関連付ける。
それらのキャラは弾幕をいつ、どこから撃つかの情報を持っていて、
それと共に、フックに吊り下げるように一つ以上の弾幕を同時発射可能。
4.それらの要素が吊り下げられるステージという最大単位。
このステージは時間軸と等価。
ただ、解りやすくしようと思うと、時間軸をまるで縦スクロールのように扱う。
時間軸でなく普通に縦軸で配置すると、いろいろわかりにくい部分が出る。
1と2と3はじつは等価。真っ当に弾幕を作ろうと思ったら、そうでないといけない。
ただしそういう部分は隠蔽。
1で普通に設定できるのは反射とか時限消滅とか弾種変化とか。
別の弾単体の挙動への変化、弾を撃つ、もあれば、かなり柔軟性が出る。
必要な要素は常識的なもので、むしろ操作性とか考えたほうがいいと思うわ。
ただ、無理ー、とか言ってるのは、食わず嫌いな感じがするんだけどなぁ……
ある程度以上にこったことをしようとするとツール使うほうが手間な場合が多いし、
視覚を文章化できないで組もうとしたってどだい無理な話よ。
- 284 :名前が無い程度の能力:2008/10/23(木) 15:37:53 ID:Nz/lJP8o0
- >>283
1.でCreateShotとかfunctionに相当するものを作成
2.でMainLoopに相当するものを作成
3.で 2. の弾幕を敵が放つようにする
こんな感じですね
初めて弾幕を作ろうとする人で、プログラミングを知らない人って
弾幕風講座でもちょっと敷居が高い気がするんですよ
だから、入門の段階で簡単に弾幕が作れるツールがあったら良いんじゃないかと
まずそういうツールで弾幕の製作に挑んで、弾の細かい挙動とかを指定するには
直接スクリプトを弄っていく、みたいな
食わず嫌いの人間に工夫して食べさせるようなもんですね
- 285 :名前が無い程度の能力:2008/10/23(木) 16:05:48 ID:Eiy9IZn60
- >>284
見た目が八割なんだろうなぁ……
サンプルに、派手だけど二分で作れるのがあれば素敵。
七色にグラデしながら自機狙いしてくる大玉。
ただしその大玉は無数の小弾が中心から吹き出るようにして構成される、とか。
実用性はないけど、簡単で目を引くはず。
- 286 :名前が無い程度の能力:2008/10/23(木) 20:02:12 ID:Q.4kObKo0
- 食わず嫌いというか、最初の段階で理想が高すぎな傾向があると思う。
>>282の引用コメみたいに作ってみたい人が潜在的にいるなら、安価で弾幕作るとかやれるかもね。
>>285
それ、実際作ろうとすると言うほど簡単じゃないような。
- 287 :名前が無い程度の能力:2008/10/23(木) 20:06:51 ID:q4oGjvug0
- 武烈クライシスというか厳武発狂辺りなんかはサンプルコードにするには比較的簡単かねぇ。
講座だと使い魔絡んでるから微細なレベルで難易度上がってるけど。
- 288 :名前が無い程度の能力:2008/10/23(木) 20:11:44 ID:Eiy9IZn60
- >>286
そうかな。
二分は言い過ぎにしても、不可視の使い魔を飛ばすだけだと思うんだけど。
大量の全方位、時限消滅弾を撒きながら一直線に。
七色にするのは、確かに難しい(ややこしい)かも。
- 289 :名前が無い程度の能力:2008/10/23(木) 20:13:16 ID:Q.4kObKo0
- ドゥーム発狂とか見た目のわりに簡単だったりする。
CreateShotA関連とAddShot使えればそれっぽいもの作れるし。
- 290 :名前が無い程度の能力:2008/10/23(木) 20:19:36 ID:Q.4kObKo0
- >>288
それなりに作ってきた人だと簡単なのは分かるんだけど弾幕風を初めて触るような人にとっては
七色の変化ループ、敵(弾)スクリプト、弾の時限消滅、など要素が詰まり過ぎてて分かりにくいんじゃなかろうか。
- 291 :名前が無い程度の能力:2008/10/23(木) 20:28:57 ID:Eiy9IZn60
- >>290
あー、なるほど。
(理解が)簡単、となると、ちょっとそぐわないか……
オプティカルカムフラージュあたりのほうが適任かな?
曲がる方向と角度、自機狙いxWAY弾くらいしか要素がない。
- 292 :名前が無い程度の能力:2008/10/23(木) 20:52:30 ID:q4oGjvug0
- >>291
それは多分…このスレ内にいる製作初めて
あまり時期が経ってない人とかは作れないレベルだと思うの。
慣れてくると軌道変化楽しいよアハハウフフとかやって楽々作れるだろうけど。
弾源の数とか考えるとルーミア・チルノ辺りが教本としてはいい感じかも?
(完全再現するとなるとナイトバードでさえマイクロスレッド使うけどね)
- 293 :名前が無い程度の能力:2008/10/23(木) 20:53:06 ID:iTWu7bjc0
- ミジャグジさまなら実装は簡単。
プログラミングをした事が無い人には「プログラミング=とても難しい」な先入観があるからなぁ……。
弾幕風自体の壁はそんなに高くないし、理解できれば他のプログラミング言語(主にCとかCとか)を習得するときに役に立つし、ぜひ習得してもらいたい。
ツールだと他に応用が利き辛いしね。
まあ製作をサポートしてくれる総合開発ソフト的なもの(Eclipseとか)はあっても良いかも。
- 294 :名前が無い程度の能力:2008/10/23(木) 21:00:04 ID:mSdAsbL60
- 「らんさまー!ごめんなさい、川にスペカおとしちゃいましたー!」
「ちぇえええん!!!今新しいのを作ってあげるからね」
「待ちなさい藍。あなたに私がスペカの作り方を教えたように、あなたが橙にスペカの作り方を教える時期よ」
みたいな「藍様の弾幕風ニコニコ講座(橙)」あったらみんな見るんじゃね。
- 295 :名前が無い程度の能力:2008/10/23(木) 21:00:42 ID:Weilq8HQ0
- まずは
Exの通常からはどうだろう?
あれなら自機狙いですぐ作れると思うし
もこもこのリザレクションなんかいいかも・・・
- 296 :名前が無い程度の能力:2008/10/23(木) 21:11:34 ID:q4oGjvug0
- >>293
開発環境が整ってない面はあるかもね。
デバッガまで行かなくともキーワード強調とか
キーワード入力支援辺りあると大分楽になるんじゃないかな。
・TerapadのCのキーワード強調ファイルを弾幕風向けに改造
・弾幕風命令変換IME辞書
程度なら導入も手軽なんじゃないかなと思う。
>>294
「個人的には」ちょっと勘弁してって気分だよ…
- 297 :名前が無い程度の能力:2008/10/24(金) 01:17:13 ID:zhK4buR60
- >>294
俺はなかなかいいと思う。
藍様が弾幕の説明をして、細かい注釈とか応用を紫様が説明するみたいな。
でもやっぱプログラムの基礎(変数や配列の扱い方とかループ処理や条件分岐とか)が分かってないと厳しいよな……
いっそ幻想入り動画と共同してみるとか?あれなら「弾をひとつ出す」見たいなところからでも説明しやすいし。
- 298 :名前が無い程度の能力:2008/10/24(金) 01:24:16 ID:pSbjz6mM0
- >>294
詳しくどうとは言いづらいのだけど個人的にやめてほしい。
- 299 :名前が無い程度の能力:2008/10/24(金) 16:48:22 ID:FqmZO5gs0
- >>294
賛否両論ってことですね。
講座は見ていて楽しい方が言いと思いますよ・・・
- 300 :名前が無い程度の能力:2008/10/24(金) 16:58:13 ID:/LKGfGJs0
- 勿論楽しいほうがいいね。
>>298が言ってるのは、妙な設定で内に篭もった世界観より、
キャラが順番に講座を展開するような方式のほうがいい、というわけでは?
講座番号01:雑魚妖精もがんばってます(自機狙い弾に関する講座)
講座番号22:陰陽玉を使いたい(特殊弾に関する講座)
- 301 :名前が無い程度の能力:2008/10/24(金) 18:14:00 ID:pSbjz6mM0
- >>300
ここまでひどい曲解を受けたのは初めてかもしれない。
あの文章のどこをどう読めばそういう風に捉えることが出来るんだろう。
- 302 :名前が無い程度の能力:2008/10/24(金) 18:59:04 ID:24ucRUe20
- >296を受けてIME辞書を作成中。
とりあえずヘルプから関数名の一覧を抜き出すのは出来たのだが、変換用の読みはどうしよう?
ひらがな入力で「cs→CreateShotシリーズ」とか考えてはいるのだが、他に良い案(しかも楽に作れそうな)はないものだろうか。
>300
>296や>298が嫌がってるのは講座が作られる事でも講座の内容でもないと思うよ。
ちなみに俺も勘弁して頂きたい派。
- 303 :名前が無い程度の能力:2008/10/24(金) 19:22:22 ID:W97xEdVY0
- >>302
変換手法に関しては問題ないと思う。
命令リストに関してはdanmaq氏製作の弾幕風用EmEditor用構文リストから
コピペしてくると製作がスムーズに進むかも。
csは直感的に分かるけど使用頻度の低い命令をどうするかって感じだね。
レーザー系をcsに統合するか、とか
ascent・descentとかわざわざ省略するか?
…とか。
- 304 :名前が無い程度の能力:2008/10/24(金) 19:33:49 ID:hguebkF20
- >>294みたいな講座あったら新規製作者も増えてよさそうだなと思ってる俺には、
何が嫌で皆やめて欲しいって言ってるのかわからんから怖い
ニコ厨が軽い気持ちで弾幕風弄り始めるのが嫌なのか?
自分はもともとあそこで弾幕風知って始めたクチなんだが・・・
ほんと何がダメなんだろ
- 305 :名前が無い程度の能力:2008/10/24(金) 19:36:25 ID:Ahgcxl3g0
- 結論 厨じゃなければおk
- 306 :名前が無い程度の能力:2008/10/24(金) 19:44:17 ID:/LKGfGJs0
- 違ったのか。それなら粗製濫造のほうなのかなぁ。
あんまり手軽になると、確かにその心配はある。
どのみち、あの程度の分量の解説書で初めから受け入れ拒否しているようなのを引き込むと、
あまり明るい未来は見えない。すぐ『教えて』じゃたまったもんじゃないし。
- 307 :名前が無い程度の能力:2008/10/24(金) 19:45:07 ID:qfWHsEN.0
- >>304
2ちゃんのvipなんかではニコ厨が流れ込んできて大いに荒れたと聞く。
空気も読めず自分で調べる努力もしないような奴が増えて欲しくないというのは誰もが願うことかと。
- 308 :名前が無い程度の能力:2008/10/24(金) 19:55:58 ID:3Sco71Uk0
- >>304
マリオワールド改造スレの二の舞を踏みそうで・・・
- 309 :名前が無い程度の能力:2008/10/24(金) 20:14:01 ID:/LKGfGJs0
- 昔、CardWirthをやっていた人間としては、
>>301の言わんとしているところにすぐ気付くべきだったわ。
どうもカップリング論争に巻き込まれすぎたようだ……
ただ、次の製作者を育てたい、という>>282の言うことも、
決して間違ってるとは思わんのだけど、どうだろう。
ハードル下げずに開発環境の整備とかなら、
>>298や、その他のグダグダを懼れる人間も納得できるのかな?
しかし、VIPに『荒れる』という言葉ほど似合わない物はないな。
天敵なんて鬼女板しかないだろうに。
- 310 :名前が無い程度の能力:2008/10/24(金) 20:26:10 ID:KMjf8LfI0
- >>309
その…えっと…誰も>>282を否定してはいないと思うんだ…
>>282の「弾幕製作支援のGUI」の話と
>>294の「藍様の弾幕風ニコニコ講座(橙)」の話は別でしょう?
後、何で>>294が否定されるのかは
クーリエのうpろだの注意事項の意味でも考えると宜しいかもね
- 311 :名前が無い程度の能力:2008/10/24(金) 20:33:37 ID:pSbjz6mM0
- >>309
ハードルとかそういう問題じゃないんだ、>>305や>>307が言っていることなんだよ。次の製作者はまた別の話。
空気が読めれば新規も全く問題ないんだけどね、ネット上やら例大祭とかでもあの状態だと正直ニコでやるのはどうなのよって不安に思うわけ。
そのことをあんまり言うのもなんとも・・・って感じで曖昧な表現にしたんだ、ごめんよ。
- 312 :名前が無い程度の能力:2008/10/24(金) 21:19:28 ID:Rrp/l2iY0
- 「ニコじゃなきゃ」良いアイデアではあると思う。
動画でやる、ってのを捨てて、Wikiのどっかのページで会話形式講座だったら特に懸念は無いと思うぞ。
幸いにもフリードット絵素材に恵まれたスレだからな。アレを挿し絵に進めていけばよかろう。
以下、適当に思いついた講座名
自機狙いって最強ね!
255色の人形使い
紫講座「エフェクト結界」
「スプリクト弾制御不能」
表象「夢枕にフローチャート総書き」
- 313 :名前が無い程度の能力:2008/10/24(金) 21:22:42 ID:B5qVw4Bk0
- ようするに、ニコニコで宣伝目的で講座動画を作って製作者が増えたとしても
全体の質が下がる(恐れが大いにある)ってこと
ニコからレベルの低いのが大量に流れ込んできて何も調べず質問の嵐
それに対しちょっと自信の付いたニコ出身の自称中級者が高慢に対応
スレが荒れればそれに萎えてレベルの高い弾幕製作者が消える
俺はマリオワールドの改造スレの事は知らないけどだいたいこんな感じだと思う
>>304にも書かれてるし、実は俺もニコで弾幕風を知って始めたんだ
弾幕風の動画を見て、それで興味を持った人が自分で検索してスレに辿りつく
宣伝という面については今の状態でも十分なんだよ
>>294のは宣伝の目的が強くて、本質の「次の製作者を育てたい」っての繋がってない
>>309にわかりやすく回答するなら
>ただ、次の製作者を〜
まったくその通りで、たぶんこれは満場一致で、次の製作者は増やしたいと思ってるだろうよ
>ハードル下げずに開発環境の整備〜
開発環境の整備なら、むしろハードルを下げていい
>>282のGUIなんかがその一例。これはスクリプトがわからなくても
弾幕を作れるようにしようってもので、明らかにハードル下げでしょ
乱文・長文になってしまった。すまん
- 314 :前スレ330:2008/10/24(金) 22:14:52 ID:Ds9O5BmA0
- 1枚置いときます。幽々子風
ttp://coolier.sytes.net:8080/th_up3/file/th3_6338.zip
- 315 :名前が無い程度の能力:2008/10/24(金) 22:29:10 ID:UoW0msls0
- 新規の弾幕製作者を取り込みたいっていうのは分かるんですが、
既存の製作者に対するレスポンスも忘れてはいけないような気が。
具体的には、ここに投下された作品をほぼ総スルーなのはまずいんじゃないかってことなんですけど。
以前に比べるとここに作品が投下される頻度が明らかに落ちてきていますし。
と、前振りして
>>264
大分コメントが遅れましたが……。
・画面下で避けていると大体03系の停滞する弾が同じ位置に来て、事実上の壁になってしまっている気が。
消えた、と思ったら次のが綺麗に同じ軌道で埋めていって、何とも言えない気持ちになりました。
偶数セット目と奇数セット目で角度を変えるとか何かしら変化があったほうが面白いかと。
・自覚があるのかもしれませんが、過去作品から「全方位ランダム弾」を多用しているように見受けられます。
そのせいで、プレイしていても避け方に差異が無くワンパターンと感じることがあります。
無節操にランダム弾を撒くのではなく「自機方向に±10の範囲」など、ある程度狙いを絞ったり、
そもそもランダム関数を使わないような弾幕を作るようにするのも良いかと。
こうすることで難易度のムラも小さくなるのでお勧めです。
- 316 :名前が無い程度の能力:2008/10/24(金) 22:42:29 ID:UoW0msls0
- なんというタイミング。
>>314
・撃ち込み調整が楽しい良スペルだと思います。
「弾幕はコントロールするもの」派な私としてはプレイして楽しかったです。
・使い魔……というか分身は壊したくなるような動きにするのもありだったかも。
具体的には、ゆっくり自機を追尾してくるとか。
撃ち返しの量と耐久値を減らして、次々と発生しては壊れていくようなバリエーションも面白そうです。
- 317 :302:2008/10/25(土) 01:16:31 ID:QNu49Owo0
- とりあえず辞書完成〜
ttp://coolier.sytes.net:8080/th_up3/file/th3_6347.lzh
詳細はreadmeにて。感想とか不具合とか要望とかあればよろしくです。
結局読みの付け方を変更。一つ一つに「cs」とか付けていく根性がなかったので。
- 318 :名前が無い程度の能力:2008/10/25(土) 09:53:03 ID:Rd.2C8ZM0
- 上で色々話しているところすいません。
二日ほど練ったんですが、うまくいかないので聞いてみます。
さとりの通常1みたいなのを作ろうと練々考えてるんですが、
なんかうまくいかないんです。
ヒントだけでよろしいので、教えてくれないでしょうか?
- 319 :名前が無い程度の能力:2008/10/25(土) 10:19:57 ID:KcROqNJ60
- >>318
できたら どこまで関数ができているか
晒してくれるとありがたい >>75みたいに
- 320 :名前が無い程度の能力:2008/10/25(土) 10:25:51 ID:KRGwkZFo0
- >>318
sin・cos・ベースになる円軌道の上に小さい円軌道を乗せる弾源移動を行う。
>>317
まずは辞書製作GJ、お疲れ様です。
cs等よりもタイプ数は多くなったけど判り易いので初心者にも使い易い感じになりましたね。
追記・改変可となってるので自分でもちょっと弄ってみたいと思います。
- 321 :名前が無い程度の能力:2008/10/25(土) 13:07:37 ID:Rd.2C8ZM0
- >>319
sub Shot{
let q = 100;
loop(1){
CreateWayShotA(0,0,1,0,GetX+cos(angle)*q+j,GetY+sin(angle)*q+j,0,angle,0,0,0,125,0);
PlaySE( seShot );
j++;
angle +=5;
}
yield;
}
こんな感じで・・・回るようにする事はできたんです
- 322 :ミレイ ◆orK.MILLAY:2008/10/25(土) 21:17:38 ID:q5203BJ.0
- お題候補の募集は明日までとなっております。お早めにどうぞ。
つ「空」「天気」「山」「花」「星」「直線」
- 323 :名前が無い程度の能力:2008/10/25(土) 21:37:35 ID:P.b3SBJM0
- >>282
>お題案 っ「宇宙」「幾何学」「対称」
見逃しならよくあること
「検索」って便利な機能だと思うんです
- 324 :名前が無い程度の能力:2008/10/25(土) 23:38:26 ID:jr/9hpXc0
- >>321
CreateWayShotAの中身がわからないからなんとも。
下手に既存の関数使うより自分で関数とかタスク作ったほうがいいと思うよ。そのほうが勉強にもなるし。
この場合はタスクのほうがいいのかな。
- 325 :名前が無い程度の能力:2008/10/26(日) 01:09:01 ID:EdncSti20
- ttp://coolier.sytes.net:8080/th_up3/file/th3_6370.zip
引用加工ドット絵です。また2キャラできたので投下します。
>>281の星弾にも挑戦しましたが、そもそも東方風の星の形にならず・・・力不足過ぎました。
- 326 :名前が無い程度の能力:2008/10/26(日) 01:30:21 ID:TQdRPNuk0
- TimeStopで時間は止められたけど動かし方がわかりません
- 327 :名前が無い程度の能力:2008/10/26(日) 01:36:41 ID:2jrw2/7Y0
- >>326
ヘルプ見ないで関数わかるはずがなく、
ヘルプ見たならどこから突っ込めばいい?
- 328 :名前が無い程度の能力:2008/10/26(日) 02:43:10 ID:K7g0nWZM0
- >>321
さとりの通常1は弾発生源がさとりの周りを半径を大きくしながら円軌道で移動して、
弾の発射角度が普通にさとり基準の角度で普通に変化してる。
task guruShot{
let p_r = 0;//半径(初期値)
let p_r_d = 1;//半径の変化量
let p_ang = -90;//発生源制御用角度
let p_ang_d = -18;//ここでは反時計回り
let s_dir = -90;//弾の発射角度
let s_dir_d = 3;
let num = 120;//弾の個数
loop(num){
//発生座標処理
let s_x = GetX + p_r*cos(p_ang);
let s_y = GetY + p_r*sin(p_ang);
//弾発射
CreateShot02(s_x, s_y, 6, s_dir, -0.75, 1.2, RED12, 20);
PlaySE(seShot);
//後処理
p_r += p_r_d;
p_ang += p_ang_d;
s_dir += s_dir_d;
yield;
}
}
実際にこの処理をいろいろ利用するならいくつか引数にすればおk。
あくまでさとり風だから細かい値は自分で調節してくれ。
- 329 :名前が無い程度の能力:2008/10/26(日) 11:12:22 ID:poeCXkF20
- >>328
ありがとうございます。
改良をして、遊んでみますw
>>324
Nway弾を作る関数です。
すいません。
- 330 :名前が無い程度の能力:2008/10/26(日) 13:41:11 ID:pfkN7JK20
- アルゴリズム他人に作ってもらったんじゃ既に自分の弾幕とは言えないよなぁ…
- 331 :名前が無い程度の能力:2008/10/26(日) 15:42:27 ID:O8R2Hjqk0
- 自作弾幕は技術じゃない、デザインだよ。
- 332 :名前が無い程度の能力:2008/10/26(日) 17:37:06 ID:8vDUBVZw0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_6383.zip
>>247です。作りました
一色に対し2パターンあるのはわかるんですが、それを実現しようとすると
どうしても255個以内に収まらなくなると思うので明るい方のみ作成
わかったこととしては、本家では「緑」というより「黄緑」を使っている
弾幕風の「WHITE」はむしろ「GRAY」の方が正しい
あと聞きたいこと箇条書きにして置いときます
・WHITE弾をもっと白くするかどうか
・大弾、大星弾、陰陽弾つくりたくないけど作った方がいいかどうか
・にとりの光る弾、雛の炎弾なんかは変になりそうだけど作った方がいいかどうか
・ウィルス弾は回る設定を付けているけど、星弾も回すかどうか
- 333 :名前が無い程度の能力:2008/10/26(日) 20:33:02 ID:2u40qRRI0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_6388.txt
敵画像を表示するとき、ボスの移動速度で画像を設定しているんですが、
それが左移動右移動停止の3種のみなら上手くいくんですが、
それにアニメーションをつけようとすると中々上手くいきません。助言をお願いします
あと、スクリプトの始めに全体に何かが表示されるから無限ループでフリーズさせて見てみた所
画像の指定した筈のない部分を表示しているようです、できればこっちの方も原因を教えてください
スクリプトを実行する際はお手数ですがscript\img\dot_reimu.pngにKMAP氏の霊夢ドット絵を入れてください
- 334 :前スレ330:2008/10/26(日) 21:40:39 ID:kRl7fDIA0
- >>315-316
プレイどうもですー。
>狂おしい珠と美しい弾
んー、やはりバランスが悪かったか……猛省……。
確かに全方位ランダムを多用するケースは多いなぁ、自分。
今後ランダム弾を極力控えます。
>リバーサル・オブ・ヒロカワ
一定時間で分身自爆かぁ……それも大いにアリかもしれない。ゴーストバタフライのような軌道も。
>>325
ついに魔理沙がきたか!
キスメもステキだ。GJ!
そんなこんなで新たにアリス風2体。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6394.zip
内、一つはヘルプ内のサンプルベース仕様。まだ1から組むのが未熟なもので(汗
- 335 :名前が無い程度の能力:2008/10/26(日) 23:06:29 ID:AE3LhRXo0
- >>333
>画像の指定した筈のない部分を表示している
とりあえずこれだけ。きっとInitialize内の処理にSetGraphicRectが含まれてないからだと思う。
SetTextureの直後に静止状態のSetGraphicRectをしてみたらどうだろうか。
- 336 :名前が無い程度の能力:2008/10/26(日) 23:26:36 ID:1eSh5nRM0
- >>333
>アニメーション
まず、SetTexGraphic〜系関数の内容がおかしい気がします。
どの関数にも無限ループ部分があり、なおかつそこから脱出する条件がないせいで多重起動するような。
最初にSetTexGraphicStopの無限ループ→移動でSetTexGraphicRightの無限ループが「同時に」起動(移動モーションがおかしい原因)
→移動完了後、SetTexGraphicRightでフラグリセットされたために2つ目のSetTexGraphicStopがさらに起動、となっているように見えます。
これだと移動する度に動作が重く、アニメーションが変なことになっていく気がします。
アニメーションをつける場合は移動速度での分岐はお勧めしません。
カウンタ制御式の主動作(立ち、まばたき)とそれの上位になるような
各種動作の1ループ分のセット動作(移動、攻撃など)を用意しておいて
移動や攻撃をさせる時にセット動作を呼び出すようにすると上手くいくかと。
>スクリプトの始めに全体に何かが表示される
原因はSetGraphicRect関数のようです。
1フレーム目に矩形指定されない(@MainLoopより先に@DrawLoopが実行される?自信ないですが)せいで
dot_reimu.png全体が表示されているのではないかと。@DrawLoopにSetGraphicRectをいれたら消えました。
余談ですが、KMAPさんのドット絵は等間隔で並んでいるので
SetGraphicRect(32+128*X,32+128*Y,96+128*X,96+128*Y);
のようにすると2つの変数X,Yを変化させることでアニメーションをコントロールできます。
@DrawLoopでこれを宣言しつつ、アニメ制御タスクでX,Yを適宜変化させるのがおススメです。
>無限ループでフリーズ
ウインドウモードでAltキーを押すと一時停止させられます。念のため。無限ループは危険なのであんまりやらない方が……。
狙ったタイミングで停止できるかというと難しいんですけどね。
- 337 :ミレイ ◆orK.MILLAY:2008/10/26(日) 23:30:05 ID:lDHM1Sz60
- お題候補の募集もあと30分で終了です。
「空」「天気」「山」「花」「星」「直線」「宇宙」「幾何学」「対称」
- 338 :名前が無い程度の能力:2008/10/26(日) 23:56:12 ID:1eSh5nRM0
- >>334
いつものように感想を
・やかましい人形だからきっと効果音がすごいことになっているんだろうと思っていたら無音で残念(笑)
・サンプルのレーザーに当たった弾の軌道を変えるの改変みたいですが、本体の攻撃を変えるだけでなく、
レーザー部分も変えてみると面白いことになったかもしれません。
具体的にはアリスも一緒に回転させて3角形→4角形のレーザーにしてみるとか。
・裁判人形の方は四季様人形の攻撃にもうひと工夫欲しかったような。
発狂で追加される攻撃の弾画像が違うのだから、速度も変えてみるとか。
花映塚のレベル2チャージアタックのような渦巻弾というのもアリだったかも。
・四季様人形破壊した時のアリスがなんとも哀れですね。
・難易度は双方ともに良バランスだと思います。
- 339 :333:2008/10/27(月) 00:30:24 ID:k/szUuDw0
- >>335,336
ありがとうございます。アニメーションは移動速度では難しいかぁ・・・
弾幕風講座の自動画像変更システムに依存してたので壁がもう一段大きくなった気がします。
これを期にこのシステムから卒業してみます。
>SetGraphicRect(32+128*X,32+128*Y,96+128*X,96+128*Y);
何でこんな簡単な式が思いつかなかったんだろうorz 立式能力低すぎるなぁ、俺。
全体に出てくるあれは、いろいろ弄っていたら自己解決しました。原因もその通りのようです。お騒がせしました。
フリーズは自重できると・・・いいなぁ・・・
深層「無意識の無限ループ」 Bonus⑨ history 99/99
とにかく、ありがとうございました。
- 340 :名前が無い程度の能力:2008/10/28(火) 13:29:59 ID:/fIU9Sq20
- リリーの赤い鱗弾みたく、全部自機方向に飛ばしたいのですが、
放射状に撃たせると、全部ひと固まりで飛んで行ってしまいます。
何処を書き換えればできますか?
task objshot(x,y,speed,angle,delay){
let x;
let y;
let speed;
let obj = Obj_Create(OBJ_SHOT);
let getspeed = Obj_GetSpeed(obj);
Obj_SetPosition(obj,x,y);
Obj_SetSpeed(obj,speed);
Obj_SetAngle(obj,angle);
ObjShot_SetDelay(obj,delay);
ObjShot_SetGraphic(obj,PURPLE22);
let mspeed = speed / 120;
loop{
if(Obj_GetSpeed(obj) <= 0){Obj_SetSpeed(obj,0);break;}
Obj_SetSpeed(obj,Obj_GetSpeed(obj) - mspeed);
wait(1);
}
angle = GetAngleToPlayer;
Obj_SetAngle(obj,GetAngleToPlayer);
Obj_SetSpeed(obj,1);
}
- 341 :名前が無い程度の能力:2008/10/28(火) 13:32:10 ID:rItDTq1.0
- 注意age
東方弾幕風のwikiのリンクが荒らされてます
リンク先にウィルス有り、ご注意を
どなたか編集できる方お願いしますorz
- 342 :ミレイ ◆orK.MILLAY:2008/10/28(火) 16:14:25 ID:fdTkuALs0
- 私は「直線」「宇宙」「幾何学」にマイナス票。
現在のお題候補(*:マイナス票)
「空」「天気」「山」「花」「星」「直線*」「宇宙*」「幾何学*」「対称」
- 343 :名前が無い程度の能力:2008/10/28(火) 16:29:51 ID:D8n0k0F60
- >>341
荒らしとか、どんな気持ちで荒らしてるんだろうね・・・
気が知れないですよw
まったく・・・
- 344 :名前が無い程度の能力:2008/10/28(火) 17:19:34 ID:utHoj2eo0
- >>340
ーーーーーーーーーーー
wait(1);
}
let ax=GetPlayerX-Obj_GetX(obj);
let ay=GetPlayerY-Obj_GetY(obj);
angle = atan2(ay,ax);
Obj_SetAngle(obj,angle);
Obj_SetSpeed(obj,1);
}
ーーーーーーーーーーー
ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/products/thdnhlec/010.html
ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/products/thdnhlec/017.html
ここに自機狙いの弾についての解説あり
- 345 :名前が無い程度の能力:2008/10/28(火) 20:32:45 ID:/5b7BeO.0
- メニューバー荒らしを巻き戻しました。ほとんどのリンクが特定のサイトになっていました。
でもまたいつ荒らされるかわからないのでみなさまご注意くださいませ。
- 346 :名前が無い程度の能力:2008/10/28(火) 21:23:35 ID:s2T34eaU0
- 「天気」「宇宙」「幾何学」にマイナス票
- 347 :名前が無い程度の能力:2008/10/28(火) 21:27:47 ID:w4JumY9s0
- >>344
ありがとうございます。
早速試してみます。
- 348 :名前が無い程度の能力:2008/10/29(水) 13:05:36 ID:POu7TwpE0
- またwikiがやられてたので修正しておきました。
この調子だとまだきそうですね。
- 349 :名前が無い程度の能力:2008/10/29(水) 17:02:31 ID:gWTie17Y0
- >>348
何でそんな事するんでしょうねぇ・・・
質問です・・・
弾幕wikiに
弾が端っこに行ったときに、角度を変える関数があったんですが、
レーザーでも可能ですか?
いや、それ以前に、オブジェクトレーザーを
CreateLaser01みたいに飛ばす事ってできますか?
- 350 :名前が無い程度の能力:2008/10/29(水) 19:41:38 ID:/QUSMyC20
- またかわってる
- 351 :名前が無い程度の能力:2008/10/29(水) 19:56:56 ID:pqY/z.2A0
- やはりまた来てたので、復旧しました
しかしいたちごっこの様な気がしないでもないです
アクセス制限とかかけられないんでしょうかね…
- 352 :ミレイ ◆orK.MILLAY:2008/10/29(水) 19:59:34 ID:uSpMLj1k0
- お題投票も明日までです。お早めにどうぞ。
現在のお題候補(*:マイナス票)
「空」「天気*」「山」「花」「星」「直線*」「宇宙**」「幾何学**」「対称」
- 353 :名前が無い程度の能力:2008/10/29(水) 20:13:28 ID:ZZq4QDSY0
- Wiki のトップページとメニューバーは凍結しておくといいよ。
あと、荒らし報告すればブロックしてくれるようになるかもしれないよ。
- 354 :名前が無い程度の能力:2008/10/29(水) 20:50:58 ID:F63bVYxw0
- オブジェクトレーザーは設置型レーザーなので速度を指定しても無視される。
→Obj_SetX系で無理に飛んでるように見せかけることは可能
正解はCreateLaserCか曲レーザーオブジェクト これらは射出型レーザーで速度を持つ。
ただフレーム数が長いほど劇的に重くなるので、用途によってはあえて設置型で済ませるのも手。
ここから先はがんばれ >>349
- 355 :名前が無い程度の能力:2008/10/29(水) 23:09:45 ID:fVhYqEFoo
- >>349
概要は>>354氏の説明どおり。
ついでに、自前で「オブジェクト弾の加減速」関数を作ってたので貼ってみます。
オブジェクト弾・オブジェクトレーザー(射出)に対応。
//オブジェクト加減速タスク(導入必須)
task Obj_Accele(obj, sp, spAcc, spMax){
Obj_SetSpeed(obj, sp);
//パラメータが不正でない場合、加減速処理を実行
if((spMax - sp) * spAcc > 0){
let time = trunc(absolute((spMax - sp) / spAcc));
loop(time - 1){
Obj_SetSpeed(obj, Obj_GetSpeed(obj) + spAcc);
yield;
}
}
Obj_SetSpeed(obj, spMax);
yield;
}
//オブジェクト速度・加減速度・角度の簡易設定
function Obj_SetSpeedEX(obj, sp, spAcc, spMax, ang){
Obj_SetAngle(obj, ang);
Obj_Accele(obj, sp, spAcc, spMax);
}
- 356 :名前が無い程度の能力:2008/10/29(水) 23:16:54 ID:o6ZyK1eQ0
- とりあえず手動巻き戻し。
なんか荒らしが2種類いるのか?
履歴みたら「すべて特定サイトに書き換え」「その一部をさらに別のサイトに書き換え」という手の込んだことしてる。
- 357 :名前が無い程度の能力:2008/10/30(木) 10:13:01 ID:nYCLSt520
- 外国の人も弾幕風で弾幕を作ってるみたいだね
ただでさえ日本語でも 最初はわかりにくいのに
よく解読したって感じだね
無理ゲーくさいのが多いけど
- 358 :名前が無い程度の能力:2008/10/30(木) 14:26:43 ID:VHfwJA2I0
- プログラムは英語だけどな
- 359 :名前が無い程度の能力:2008/10/30(木) 15:04:37 ID:kzRydWMEO
- ヘルプが日本語である以上、コードに英単語が使われていようがドイツ語だろうがヘブライ語だろうがハングルだろうが難易度はそう変わらんわ
- 360 :名前が無い程度の能力:2008/10/30(木) 16:57:36 ID:T3/4n2Dk0
- >>354,355
ありがとうございますw
何で今になって荒らしが増えたんでしょうね・・・。
- 361 :名前が無い程度の能力:2008/10/30(木) 22:40:12 ID:jwPGz7G.0
- 弾幕風を使ってみたけど訳わからん
↓
何で皆作れるの?自分はできないのに・・・生意気な奴等!!
↓
弾幕風Wikiが八つ当たりのターゲットになる ←今この辺
- 362 :名前が無い程度の能力:2008/10/30(木) 22:51:28 ID:kbOOAXqQ0
- wikiの自動巡回スクリプトとかそういうのじゃないのか?見てないからわからないけど
- 363 :名前が無い程度の能力:2008/10/30(木) 23:13:02 ID:qF6ddna60
- >>332
個人的にはにとり弾を作ってもらえると助かります
やっぱりああいう光る弾はデフォの弾じゃ表現出来ないんでしょうか?
- 364 :名前が無い程度の能力:2008/10/31(金) 00:00:30 ID:EIaiMIl20
- 弾幕風を使ったゲームが手に入ったからやろうとしたんだけど、付属のBGMが流れないみたいなんだがなんで?
- 365 :名前が無い程度の能力:2008/10/31(金) 01:21:20 ID:Yp8E3n0A0
- >>349
俺は反射弾のスクリプトを少しいじって、射出型レーザーを弾が反射するときに一緒に発射すれば
見かけ上でレーザーが反射するようにしたな。ただ結構誤差が出るから>>354のやり方のほうがいいかもしれない。
- 366 :名前が無い程度の能力:2008/10/31(金) 02:35:03 ID:t4xJL9sY0
- DrawTextで数値を入力したら1.00000みたいに表示されるのですが
小数点以下を消す方法ってありますかね?
- 367 :名前が無い程度の能力:2008/10/31(金) 08:47:30 ID:hYy6k1WE0
- >>366
ttp://f27.aaa.livedoor.jp/~thdmhul/pukiwiki/pukiwiki.php?%A5%B9%A5%B3%A5%A2%A4%F2%B2%E8%CC%CC%A4%CB%C9%BD%BC%A8%A4%B9%A4%EB
- 368 :ミレイ ◆orK.MILLAY:2008/10/31(金) 11:59:43 ID:HF/0sv560
- --投票結果(*:マイナス1)--
「空」「天気*」「山」「花」「星」「直線*」「宇宙**」「幾何学**」「対称」
得票|数|率|分|
-0 | 5.|10|50|「空」「山」「花」「星」「対称」
-1 | 2.| 5.|10|「天気」「直線」
-2 | 2.| 2.| 4.|「宇宙」「幾何学」
計 | 9.|−|64|
■配分結果
「空」 01234 56789
「山」 ABCDE FGHIJ
「花」 KLMNO PQRST
「星」 UVWXY Zabcd
「対称」 efghi jklmn
「天気」 opqrs
「直線」 tuvwx
「宇宙」 yz
「幾何学」 ./
お題決定は東方幻想板にあるチル裏の最新スレにて、11月1日の最初の書き込みのIDの
1文字目で決定されます。とにかく11/1に一番乗りの人のIDが決定に使われます。
例えば、IDが「TOUHOU11」の場合→「T」に該当する「花」が11月のお題になります。
チルノの裏 343crn
ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/41116/1225295904/
- 369 :名前が無い程度の能力:2008/10/31(金) 15:27:26 ID:Fm3kbA2k0
- 結構長い時間、弾幕風から離れてたな〜・・・(´・ω・)
とりあえず、結構前に言ってた、東方winシリーズ(紅魔郷から地霊殿まで)の
カットイン呼び出し用のインクルードファイルをうpってみたりなんたり
ご自由に使っちゃってくださいな。
まぁ、スクリプトの勉強にはならないですけど。そこはまぁ、ご愛嬌
修正必要な箇所多すぎて萎え気味だけど、なんとか頑張る予定の予定。
リアル忙しくなると色々と考える気も起こらなくなるこの体質、改善したいものですゎ
ttp://coolier.sytes.net:8080/th_up3/file/th3_6446.zip
一応はこっちでの動作確認はしてます。
後、スペルカード発動した瞬間から、ミス・ボムの判定取ってるので、
いきなりFaild判定になってても仕様ですのであしからず。
さてさて、11月のコンテストのお題が何になるのか楽しみですなぁ〜
- 370 :名前が無い程度の能力:2008/10/31(金) 19:26:47 ID:2EyowbL20
- >>367
ありがとうございます。
すでにwikiにありましたか、気付かなかったですw
- 371 :名前が無い程度の能力:2008/10/31(金) 20:33:58 ID:bIYNqEfc0
- 既出かも知れませんがリサージュ曲線を描く弾スクリプトを作りました
これを使えばこいしっぽい弾幕が作れるかも
そこで質問ですがこいしのように一定時間経ったら弾の色と速度を変化させるには
どうすればいいでしょうか?
script_shot Lissajouscurve
{
let t = 0;
let w = 1.2;//角振動数 0から2までの数値
let A = 150;//X座標の振幅
let B = 150;//Y座標の振幅
@Initialize
{
SetDefault(WHITE01);//組み込みの弾をセット
}
@MainLoop
{
SetX(A*sin(w*t)+GetEnemyX);//X座標
SetY(B*sin(t)+GetEnemyY);//Y座標
if(t==2000){End();}
t +=1;//おそらく速度をつかさどってる。増加量を大きくすると速さも大きくなる。
SetCollisionBDefault();
}
@DrawLoop
{
DrawGraphicDefault();//組み込みの弾を描画
}
@Finalize
{
}
}
- 372 :名前が無い程度の能力:2008/10/31(金) 21:44:11 ID:Yp8E3n0A0
- >>371
ふつうはCreateShotAで弾を作って、SetShotDataAでデータを作ってやればいい。
でもこいしのロールシャッハみたいなのを作るんなら、光ってる弾の画像を別に作るか
オブジェクト弾で作ればいいと思う。
- 373 :名前が無い程度の能力:2008/10/31(金) 22:05:59 ID:rC4sgIu20
- >>363
にとり弾とは微妙に違うが、光る弾はコンテストでタコ帽子さんがよく使ってる気がする
スクリプト見てみたら、加算合成の弾に一定時間ごとに発生ディレイを繰り返すオブジェクト弾を重ねてるだけだった
まあデフォ弾じゃなくてKMAPさんの弾画像使ってたが
- 374 :名前が無い程度の能力:2008/10/31(金) 22:24:38 ID:xOtTW6Ag0
- そもそもこいしのロールシャッハや無意識の遺伝子は弾の発生位置がリサージュ曲線対応で
弾自体がリサージュ曲線を描いているわけじゃないので、こんな感じでそれっぽいのが作れます。
Ax,Ay:X,Yの振幅 bx,by:X,Yの角振動数 thetaX,thetaY:X,Yの初期位相 span:発射間隔
stype1:実体化後の弾画像 stype2:移動直前の弾画像
task LissajousShot(Ax,Ay,bx,by,thetaX,thetaY,span,stype1,stype2){
let t=0;
loop{
CreateShotA(0,GetX+Ax*sin(bx*t+thetaX),GetY+Ay*sin(by*t+thetaY),30);
SetShotDataA(0,0,0,bx*t+thetaX,0,0,0,stype1);
SetShotDataA(0,60,0,NULL,0,3/30,3,stype2);//飛んでいく速度、角度、タイミングは適当なので要調整
FireShot(0);
loop(span){yield;}
t++;
}
}
使用例(一度実行するとスクリプト終了まで続くので呼び過ぎに注意)
LissajousShot(120,60,6,5,0,0,1,GREEN04,GREEN01);
LissajousShot(120,60,6,5,180,0,1,YELLOW04,YELLOW01);
飛んでいく弾の角度に関してはノーコメントで。
引数stype1に加算合成弾(render=ADDの弾、ヘルプの弾画像の追加参照)を入れれば更にそれっぽくなります。
- 375 :371:2008/10/31(金) 23:08:03 ID:bIYNqEfc0
- >>374 ありがとうございます
自分でも>>328を参考に作ってみました
問題点は弾の間隔が異常に狭いことなんですがどう調整すればいいでしょうか?
一応tの増加量を大きくすれば間隔は短くなるんですが
そうすると発生位置の速さも上がってしまいます
発生位置の速さはそのままで弾を発生させる間隔だけ変えたいんですが…
task LissajouscurveShot{
let s_dir = 90;//弾の発射角度
let s_dir_d = 3;
let num = 10000000;//弾の個数
let t = 0;
let w = 1.2;//角振動数 0から2までの数値
let A = 120;//X座標の振幅
let B = 120;//Y座標の振幅
loop(num){
//発生座標処理
let s_x = GetX + A*sin(w*t);
let s_y = GetY + B*sin(t);
//弾発射
//CreateShot02(s_x, s_y, 6, s_dir, -0.75, 1, RED12, 20);
CreateShotA(1, s_x, s_y, 20);
SetShotDataA(1, 0, 0, s_dir, 0, 0, 1, BLUE04);
SetShotDataA(1, 120, 0, s_dir, 0, +0.75, 2, GREEN04);
FireShot(1);
//後処理
t +=2;
s_dir += s_dir_d;
yield;
}
}
- 376 :名前が無い程度の能力:2008/10/31(金) 23:25:09 ID:xOtTW6Ag0
- >>375
そのタスクだと毎フレーム弾が発生するようになっているので、それをどうにかすると良いです。
具体的には、
yield;
を
loop(3){yield;}
などと書き換えてみて下さい。これと、tの増分を調整すればやりたいことができるのではないかと。
- 377 :371:2008/10/31(金) 23:45:32 ID:bIYNqEfc0
- >>376
うまくいきました!
ありがとうございます!
- 378 :タコ帽子:2008/11/01(土) 00:04:40 ID:Tg74kN7Q0
- どうもコンテストの評価場所を間違えてしまった模様。
「途中経過」の評価を「スピン・ザ・なんとか」に間違って送信しました・・・。非常に申し訳ない。
ギリギリにやるもんじゃないですね。
ミレイさん、手動で訂正又は取り消しができないものでしょうか?
よろしくお願いします。
- 379 :名前が無い程度の能力:2008/11/01(土) 00:48:04 ID:JHtKBUi.0
- 355 :名前が無い程度の能力:2008/10/31(金) 23:59:49 ID:mmvY.WnI0
バンダイのプラモというとキャンディトイ事業部はまだ神クオリティを維持してるのだろうか
デカレンジャーの基地が変形するロボの食玩で足曲がるとか感動した
356 :名前が無い程度の能力:2008/11/01(土) 00:00:01 ID:HIoUxEDkO
yonakada-
山だ〜ね。
- 380 :名前が無い程度の能力:2008/11/01(土) 00:54:28 ID:hjuQ/d860
- 山かぁ・・・
洩矢勢が多くなりそうな予感
- 381 :ミレイ ◆orK.MILLAY:2008/11/01(土) 01:58:44 ID:PtYRMY0o0
- タコ帽子さん、まさかの8度目のトップ賞おめでとうございます。
>>378
「スピン・ザ・なんとか」の該当の書き込みを削除。
代わりに「途中経過」の方に書き込みしておきました。
データの改ざんに当たるため、ログの移し変えはしていません。
本来なら評価者5人の合計点14点、平均点は2.8となります。
- 382 :名前が無い程度の能力:2008/11/01(土) 16:52:41 ID:.2ZCgsHQ0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_6459.zip
>>332に若干修正、弾1種追加した弾画像とライブラリ
あと、弾幕風の組み込みの弾と比較するスクリプトも入れてみました
本家のにとり弾は形がいびつで点滅してるんですが、
形も点滅もうまく作れなかったので諦めて
普通に円系、加算処理の弾になってます
特に違和感を感じる弾がだいたい無くなったので
たぶんこれで完成・・・でも要望か何かあったら遠慮なく言ってください
- 383 :名前が無い程度の能力:2008/11/01(土) 19:43:04 ID:053aR.vY0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_6464.zip
お空の太陽弾用の画像+それを使ったコピー弾幕
サイズ変化弾って結構めんどくさいなぁ・・・
オブジェクトレーザーは使わずにエフェクト2枚とショットを重ねて表現してみた
見た目は思ったよりは似せれた感じなのでひとまず満足・・・
- 384 :名前が無い程度の能力:2008/11/01(土) 21:19:13 ID:52IvRfUk0
- レーザーに当たった弾に何らかの動作をさせる弾幕を作っていたのですが、
発射間隔が短いと反応しなかったり、
レーザーに当たった弾のかすり点が、当たる弾の前に外した弾の数の分が余計に入っていたりします。
やはりMainLoopを使わないと無理なのでしょうか?
let obj = Obj_Create(OBJ_SHOT);
let obj2 = Obj_Create(OBJ_LASER);
task TMain {
yield;
standBy;
shot;
}
task shot {
obj_2;
let angle = GetAngleToPlayer;
loop{
obj_1(GetX,GetY,3,angle + rand(90,-90),RED01,0);
wait(30);
}
}
task obj_1(x,y,speed,angle,color,delay){
obj = Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj,x,y);
Obj_SetSpeed(obj,speed);
Obj_SetAngle(obj,angle);
ObjShot_SetGraphic(obj,color);
ObjShot_SetDelay(obj,delay);
ObjShot_SetBombResist(obj,true);
loop{
if(Obj_GetX(obj) <= GetClipMinX || Obj_GetX(obj) >= GetClipMaxX){
Obj_Delete(obj);
break;
}
if(Obj_GetY(obj) <= GetClipMinY || Obj_GetY(obj) >= GetClipMaxY){
Obj_Delete(obj);
break;
}
if(Collision_Obj_Obj(obj,obj2) == true){
CreateShot01(Obj_GetX(obj),Obj_GetY(obj),1,90,RED11,0);
Obj_Delete(obj);
break;}
wait(1);
}
}
task obj_2{
Obj_SetPosition(obj2,GetX - 100,GetY + 50);
Obj_SetAngle(obj2,0);
ObjLaser_SetLength(obj2,200);
ObjLaser_SetWidth(obj2,10);
ObjShot_SetGraphic(obj2,WHITE01);
ObjShot_SetDelay(obj2,0);
ObjLaser_SetSource(obj2,false);
}
- 385 :名前が無い程度の能力:2008/11/01(土) 22:23:42 ID:gqDejQIY0
- >>383
弾スクリプトの方が作りやすいという主張が悉く無視されて私は悲しい……。
というわけで弾スクリプトを使ったバージョンを作ってみました。
↓
ttp://coolier.sytes.net:8080/th_up3/file/th3_6467.lzh
>>384
>発射間隔が短いと反応しない
変数objの使い方が変なことになっています。
変数objをグローバル変数にしてしまうと弾1発分しか情報を追跡できません。
let obj = Obj_Create(OBJ_SHOT);を消して、
task obj_1(x,y,speed,angle,color,delay){
obj = Obj_Create(OBJ_SHOT);
の部分を
task obj_1(x,y,speed,angle,color,delay){
let obj = Obj_Create(OBJ_SHOT);
にすれば多分上手くいくのではないかと。
>レーザーに当たった弾のかすり点が以下略
何を聞きたいのか分かりにくいのですが、反射前と後で2回かすってしまうのは何故 ということでいいのでしょうか?
それでいいなら、それは仕様です。
CreateShot01で新しくショットを撃ち直しているのでレーザーに触れる前と後で弾は別物になっています。
- 386 :名前が無い程度の能力:2008/11/02(日) 00:01:14 ID:rh0u26v20
- スレ序盤で出てたCreateShot01の戻り値がオブジェクト弾って話題に亀なんだけど
当然ObjShot_BombResist()が設定できるわけで
Q.ボムで消えない弾を出すには?
A.オブジェクト弾あるいはスクリプト弾を使ってください。
というFAQが崩壊した
- 387 :名前が無い程度の能力:2008/11/02(日) 00:04:20 ID:L./jXVQo0
- 1フレームで寿命を迎え、消えるたびに自己作成する弾があったら見た目上1つでも無限にグレイズできるからね。
ふとグレイズを題材に出来ないものかと5分間悩んで何も出ないから今日は寝る。
- 388 :名前が無い程度の能力:2008/11/02(日) 00:35:39 ID:Zx3zkVWkO
- 以前CreateShotの戻り値でObj系の設定するのを試してみた時、
スペル撃破時にフリーズすることが時々あったから、
使うことは正直あまりオススメしない
- 389 :名前が無い程度の能力:2008/11/02(日) 01:19:36 ID:FkNujdi.0
- 一定時間経つと発狂するとか段階を変えるような弾幕はどうやって作ればいいんでしょうか?
if(GetTimer()<=50){ここになんかいれる}
とやってもなにも起きなくなってしまうのですが
- 390 :名前が無い程度の能力:2008/11/02(日) 09:12:11 ID:lhlCoZY20
- >>385
出来ました、ありがとうございます。
- 391 :名前が無い程度の能力:2008/11/02(日) 10:22:12 ID:2P5dvMKs0
- >>389
SetTimer使ってる?
とさとり
- 392 :名前がない程度の能力:2008/11/02(日) 12:35:09 ID:ALBlt.yY0
- ステージ用の道中雑魚を作ろうとしているのですが、登場と同時に消えてしまいます。
下のスクリプトなのですがどうすればよいでしょうか?
script_enemy_main
{
let img = GetCurrentScriptDirectory~"yosei1.png";
let timer = 0;
let num=0;
task mainshot0
{
if(timer<60){SetSpeed(3.6-timer*0.03);}
if(timer==60 || timer==90 || timer==120)
{
CreateShotA(1,GetX,GetY,0);
SetShotDataA(1,0,5,GetAngleToPlayer,0,-0.1,3,RED01);
FireShot(1);
}
if(timer>=100 && GetSpeed<5){SetSpeed(GetSpeed+0.05);SetAngle(GetAngle-2);}
if(timer==600){VanishEnemy}
}
task mainshot1
{
SetSpeed(absolute(3.6-timer*0.03));}
if(timer==60 || timer==90 || timer==120)
{
let y=-2;
loop(5)
{
CreateShotA(1,GetX,GetY,0);
SetShotDataA(1,0,5,y*10+GetAngleToPlayer,0,-0.1,3,RED01);
FireShot(1);
y=y+1;
}
}
timer=timer+1;
if(timer==600){VanishEnemy}
}
@Initialize
{
SetSpeed(GetSpeed);SetAngle(GetAngle);
SetLife(300);
num=GetArgument;
SetTexture(img);
SetGraphicRect(0,0,32,32);
}
@MainLoop
{
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
if(num==0){mainshot0;}
timer=timer+1;
}
let abcde=40;
@DrawLoop
{
if(timer%abcde<abcde/4){SetGraphicRect(0,0,32,32);}
else if(timer%abcde>=abcde/2 && timer%abcde<abcde/4*3){SetGraphicRect(64,0,96,32);}
else{SetGraphicRect(32,0,64,32);}
DrawGraphic(GetX, GetY);
}
@Finalize
{
}
}
*妖精の動きはCreateEnemyFromFileのArgumentを使い区別をつけています。
- 393 :名前が無い程度の能力:2008/11/02(日) 14:30:56 ID:FkNujdi.0
- >>391
SetTimerは使っていますがうまくいきません
GetTimerじゃうまくいかないんですかね?
- 394 :名前が無い程度の能力:2008/11/02(日) 15:34:58 ID:g0fP4sZg0
- >>389
多分原因が別のところにある気がするので、スクリプト全体を見せて欲しいような。
>>392
原因はtask mainshot1の中の
SetSpeed(absolute(3.6-timer*0.03));}←この”}”
余分な”}”があるせいでscript_enemy_mainがtask mainshot1までで終了しています。
@Initializeが無いスクリプト=ライフ設定されていないスクリプト になっていたせいで
出現と同時にライフ0扱いで消滅していたようです。
- 395 :名前が無い程度の能力:2008/11/02(日) 17:55:32 ID:FkNujdi.0
- >>394
いろいろいじってみたら解決しました!
ありがとうございました
- 396 :前スレ330:2008/11/02(日) 23:00:06 ID:o//Ewfm20
- >>338
遅くなりましたが、プレイありがとうございますー。
人形破壊によるアリス発狂が、まだまだ不完全なので、そこらあたりも頑張ってみます。
そして裁判人形の弾幕改善なんかも急がねば(汗
そんなこんなで新たにアリス風1枚2匹。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6490.zip
- 397 :名前が無い程度の能力:2008/11/02(日) 23:15:28 ID:oFmmrLhQ0
- 弾幕風始めたばかりで気になるのですが、本来表示される画像に変換を施してから表示といったことは出来ますか?
永二面のアレとか、画面全体の反転で操作系反転とか、画面右半分に左半分の鏡映を表示させるとか・・
- 398 :名前が無い程度の能力:2008/11/02(日) 23:50:17 ID:RrbicsVc0
- >>397
弾幕風の関数に現在の画面を取得してテクスチャを作成するものはないです。
ですが、1はエフェクトオブジェクトというものを使えば再現できます。過去のスレで同様の質問があって誰かが答えてたはず。
2、3については、不可能とは言い切れませんがいろいろと大変そうですね。関数ひとつで……というわけにはいかなさそうです。
- 399 :名前が無い程度の能力:2008/11/03(月) 05:55:57 ID:tuoZ2KSs0
- >>398
画面の情報からテクスチャができれば地霊殿のボスの後ろが
歪むエフェクトも実装楽そうなのだけどねぇ。
現状再現しようとすると必ず何処かにボトルネック出てきてウボァ
- 400 :名前が無い程度の能力:2008/11/03(月) 21:48:51 ID:1VmP6qQ60
- 背景が固定画像なら表示する座標と元画像の座標を同じにすればなんとかなるんでないか?
実際それで何か作ってみる予定なんだけど。
- 401 :名前が無い程度の能力:2008/11/03(月) 21:57:41 ID:tuoZ2KSs0
- >>400
うむ、そこがネックなのだ。
色の変化は減算描画辺りで真似できそうなのだけども。
- 402 :名前がない程度の能力:2008/11/04(火) 01:37:49 ID:T8aE0GCo0
- >>394
ありがとうございました。
スクリプトを書いているうちは気づきませんでした。
以後心掛けたいと思います。
- 403 :名前が無い程度の能力:2008/11/04(火) 21:38:17 ID:zzuU0MEQ0
- 鬼神「飛翔毘沙門天」や式神「憑依茶吉尼天」のような動きを
SetAngleとSetSpeedのみで作るにはどうすればいいのでしょうか。
- 404 :名前が無い程度の能力:2008/11/04(火) 21:57:19 ID:3OfGJYY60
- >>403
円軌道で動いてるから半径と角度から座標を出して、
SetXとSetYで制御したほうが楽だと思うけど。
- 405 :名前が無い程度の能力:2008/11/04(火) 22:00:44 ID:zzuU0MEQ0
- >>404
やってみたけど、途中でカクッとした動きになる。
- 406 :名前が無い程度の能力:2008/11/04(火) 22:16:37 ID:/XbtrkPo0
- >>405
それはAngleとSpeedを使う前に円軌道計算式の見直ししようぜ?
円軌道を間違えてるままじゃハッキリいって発展性が無い。
今ここでソース公開して修正したほうが絶対役に立つ。
おなじことをいろんな手段で表現できるほうが将来的には便利だから別口として検討するのは良い。
円運動するんだったらSpeedをゼロ以外の一定でAngleを舞いフレーム一定づつ加算すればいい。
ただち中心指定ができないがな。
- 407 :名前が無い程度の能力:2008/11/04(火) 22:53:33 ID:fUGUfaP60
- >>406
ちゃんと中心座標計算できるよ
現在の速度をv、円の半径をrとしたとき必要な向心加速度はv^2/rだから
変化させるAngleの量はatan2(v^2/r,v)=atan2(v/r,1)になる
- 408 :名前が無い程度の能力:2008/11/05(水) 00:56:25 ID:gD43JWpQ0
- >>407
まあ結論はそうだけどさ、sin-cosの基本円運動すら扱いきれない人間にその式は意味不明だろう。
実はできるけど〜なんて書いてややこしくなって無意味に混乱させるより伏せたほうが良いと思った。
むしろ意味も分からず何故か分かる結論だけを得てグチャグチャになって結局同じ質問を繰り返すほうが、質問者にとっても回答者にとってもダルいんじゃなかろうか。
ここまで書いた時点で俺が面倒な人間だという結論が沸いてきたorz
- 409 :名前が無い程度の能力:2008/11/05(水) 03:42:42 ID:Yf/yEEe20
- 結局>>403はできたのかできてないのか
- 410 :名前が無い程度の能力:2008/11/05(水) 22:35:04 ID:Ncse4YvUO
- >>409
半径をcosで滑らかに増減させたら出来た。
- 411 :名前が無い程度の能力:2008/11/06(木) 16:34:10 ID:cNCqh4Q60
- 幽々子の通常弾幕2みたいに、スクリプトのはじめに扇を出すようにしていたのですが、
扇がボスを覆って見えなくなってしまいます。
CreateEnemyFromScriptを使っているのですが、何か別の方法はありませんか?
- 412 :名前が無い程度の能力:2008/11/06(木) 17:30:14 ID:7gQp5XQM0
- 使い魔の親へのダメージを考えてるのなら当たり判定だけ登録すれば事足りるから
画像描画の部分を外してエフェクトオブジェクトを使うか
ボス側のスクリプトでボス画像の前に描画するようにすればいいかな
- 413 :名前が無い程度の能力:2008/11/06(木) 21:44:01 ID:eLHRzzgs0
- >>412
試してみます、ありがとうございました。
- 414 :名前が無い程度の能力:2008/11/07(金) 04:24:17 ID:cBgc8gZI0
- FLAN使ってる人いますか?
- 415 :名前が無い程度の能力:2008/11/07(金) 06:51:00 ID:FkLVjs/.0
- >>414
います
- 416 :名前が無い程度の能力:2008/11/07(金) 10:28:55 ID:VRnp.ZDI0
- フランちゃんウフフ
- 417 :名前が無い程度の能力:2008/11/08(土) 11:56:30 ID:AuOoyGGA0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_6589.lzh
自機霊夢&早苗組Ver.1.01と姉妹三組追加版
前回よりも軽くなっている筈……。
- 418 :名前が無い程度の能力:2008/11/08(土) 21:24:07 ID:vp1iObm20
- なるほど。そういうことだったのか…
レスありがとうございます
- 419 :名前が無い程度の能力:2008/11/08(土) 21:24:43 ID:vp1iObm20
- 誤爆スマソ
- 420 :名前が無い程度の能力:2008/11/08(土) 23:34:26 ID:hZMUbvJo0
- あやややや、またwikiが荒らされてるよ…。
一応復旧完了。どうも自動巡回スクリプトっぽいね。
元ネタwikiかどこかも同じ手法で荒らされてた気がする。
- 421 :名前が無い程度の能力:2008/11/09(日) 04:40:20 ID:wEYnXQxk0
- キスメのドット絵を使用した単発スクリプトです
と言っても、本家のEASYモードを模範した動作テスト的なもの
ttp://coolier.sytes.net:8080/th_up3/file/th3_6605.zip
結構な量のエフェクトオブジェクトを使用しているので、
ますぃーんによっては重くなる可能性大
動作状況をお聞かせくださいまし
それを元に色々と改善していこうかと思ってまふ
- 422 :名前が無い程度の能力:2008/11/09(日) 07:34:52 ID:TlsViUgc0
- >>420
wiki の管理者もういないのかねえ。
凍結すればいいだけなんだけど。
- 423 :名前が無い程度の能力:2008/11/09(日) 21:25:46 ID:Z9jNbfh.0
- ちょい質問です。
大弾を発射すると先に発射された小弾や中弾より後ろに
描画されるのですが、
これを小弾とかより前に描画することってできます?
エフェクトオブジェクトに手を出すくらいしかないのかな。
- 424 :名前が無い程度の能力:2008/11/09(日) 22:18:27 ID:J25ufQ0M0
- 大弾やレーザー等、加算合成描画の弾は発射順に限らず
通常(α描画)の弾の後ろに描画される仕様
エフェクトオブジェクトでレイヤーを上げた場合は知らね
- 425 :名前が無い程度の能力:2008/11/09(日) 22:33:42 ID:Z9jNbfh.0
- >>424
サンクス。そういう仕様があったんね。
エフェクトも含めていろいろ試してみるよ。
- 426 :名前が無い程度の能力:2008/11/09(日) 23:37:27 ID:9NyAM0Cw0
- >>417
古いほうの素材を使いますか……とても悲しいので次があれば新しいのでお願いします。
- 427 :名前が無い程度の能力:2008/11/10(月) 01:26:56 ID:Ih4tsXIg0
- 波粒みたいなのを作りたいんだが角度指定がよくわからない…
あの回転にブレーキがかかって逆回転に移行、とか。
誰かヒントだけでもいいから教えてくれないだろうか?
- 428 :名前が無い程度の能力:2008/11/10(月) 01:30:29 ID:tk7WVFX20
- sin
- 429 :名前が無い程度の能力:2008/11/10(月) 01:41:12 ID:Ih4tsXIg0
- すまん、もうちょいくわしく頼む。
- 430 :名前が無い程度の能力:2008/11/10(月) 01:55:39 ID:s9aBd4Zc0
- 時間経過をtとして、角度の変化量をsin(t)関数に依存させる。
- 431 :名前が無い程度の能力:2008/11/10(月) 02:02:36 ID:Ih4tsXIg0
- おお!なるほど。
確かにそれで上手いこといく気がする。サンクス
- 432 :名前が無い程度の能力:2008/11/10(月) 10:57:15 ID:DJZG7WSY0
- >>427
あの回転はヘリコプターや車のホイールと一緒な気がする。
ブレーキをかけずとも、tを一定数(0.01とか)増加させ続けてたら、それっぽいものになった。
- 433 :名前が無い程度の能力:2008/11/10(月) 11:41:53 ID:3AyIzVZ.0
- angle+=i;
i+=1/4;
みたいな?
- 434 :名前が無い程度の能力:2008/11/10(月) 14:50:42 ID:dfqqcdBI0
- >>432
全方向6Wayを毎F60度回転させたら回転させてないように見えるから
あるラインまで増加すると止まってみえる
でも波粒は止まった後逆方向に回りだすからこの理由ではないと思う
- 435 :名前が無い程度の能力:2008/11/10(月) 18:06:30 ID:zbMJkcCY0
- >>434
とりあえずやってみろって
逆方向に回っているように見えているだけで、実際は回転方向は同じ
車のホイールだってある程度の速さを超えると逆周りに見える
- 436 :名前が無い程度の能力:2008/11/10(月) 18:20:52 ID:VXC0bhlk0
- それは波粒じゃなく怒蜂3ボスでは
- 437 :名前が無い程度の能力:2008/11/10(月) 18:38:44 ID:iIdUuuPM0
- とりあえず毎フレーム1ずつ増加する変数をtimeとして、角度指定を
(time^2)/50
とやってしばらく眺めてみるべし。ちなみに50は割と適当な数字だが。
- 438 :名前が無い程度の能力:2008/11/10(月) 19:32:44 ID:dfqqcdBI0
- 文花帖のオリジナル波粒とさとりのコピー波粒って計算式違う可能性があるよね
文は>>437 地は>>432の類のが一番近く見えた
- 439 :名前が無い程度の能力:2008/11/10(月) 19:59:40 ID:1EJCCC1s0
- >>437の式を調子乗って5乗とかにして変数をオーバーフローをさせてしまったのは俺だけではないはず。
- 440 :名前が無い程度の能力:2008/11/10(月) 20:50:03 ID:3DK9Jy6I0
- 画面真っ白は誰もが通る道だと信じてる
- 441 :名前が無い程度の能力:2008/11/10(月) 20:59:28 ID:Ui.Dx6xg0
- ステージスクリプトでエラー戻り食らった際に
FOG残って画面真っ赤とか真っ黄色とかなったのはたまにいるはず。
アレはかなりホラー、超怖い、マジ怖い。
- 442 :名前が無い程度の能力:2008/11/11(火) 00:53:39 ID:aKNfqvJ60
- 変数の処理可能な最大値っていくつなの?
- 443 :名前が無い程度の能力:2008/11/11(火) 01:31:12 ID:fnkENxhM0
- 正確さは置いといて扱うだけなら相当アホな数も一応計算してくれるみたい
試しに2^200とか突っ込んでみたけど思ったよりは近い数字だったよ
内部的には可数部+指数部で処理しててかなり柔軟らしい
もちろん正確さは放置だから大きくなりだすと+1とか無視しだす
スコアとかは2^31あたりの21億ぐらいでオーバーするってのがあったような…
- 444 :名前が無い程度の能力:2008/11/11(火) 01:49:20 ID:fnkENxhM0
- 細かく調べたら2^1024(なんかこれっぽい)か10^308.25あたりから#INF(=無限)って扱いが出だす
log10関数で扱えないだけという可能性はあるけど
この辺が実質限界と見るべきかな
また一つ弾幕風の奥深さを感じた気がするwww
- 445 :名前が無い程度の能力:2008/11/11(火) 02:38:00 ID:p1xQBp1I0
- 長時間運用を考える場合、
角度は360〜-360度を越えたら内部情報を±360して安全圏に戻すような機能があると安心だね。
- 446 :名前が無い程度の能力:2008/11/11(火) 10:09:15 ID:mbl2j5HE0
- angle %= 360;でおk
- 447 :名前が無い程度の能力:2008/11/11(火) 15:47:35 ID:Nfgjyo820
- これまったく触った事もないんだけど
弾をアニメーションさせたりする事って出来る?
- 448 :名前が無い程度の能力:2008/11/11(火) 20:22:39 ID:hXr4bjBg0
- >447
ちょっとよく意味がわからないんだが、
オブジェクト弾とかスクリプト弾を使えば時間に合わせて弾の画像・座標を変えることもできるから可能だと思う。
- 449 :名前が無い程度の能力:2008/11/11(火) 20:27:27 ID:fnkENxhM0
- >>448
可能というかヘルプにアニメーションする弾について書いてある
- 450 :名前が無い程度の能力:2008/11/12(水) 02:59:08 ID:q92EgpOg0
- なあ、ちょっと質問いいか?
俺、今弾幕風勉強中なんだがさ・・・
ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/products/thdnhlec/009.html
の、下のほう
let angle = dir - (way - 1) / 2 * span;
ってどういうことだ?
いや、まあやってることはわかるのだが、この dir - (way - 1) / 2 * span;の部分はどういう役割なのかがいまひとつ理解できん
誰か教えてくれ それともやっぱりこんな初心者は対象外か?
- 451 :名前が無い程度の能力:2008/11/12(水) 03:22:20 ID:L1gdvlxM0
- 基本座標 - (撃つ方向の数 - 1) / 2 * 各Wayごとの間隔
たとえば90度に10度間隔で3Way撃つ場合は
90 - 2 / 2 * 10 で 80 になる
んでループでそれに 10 度ずつ足してWay分撃つから
80, 90, 100 度にそれぞれ撃ちだしてることになり10度間隔の3Wayになる
ということだと思う
- 452 :名前が無い程度の能力:2008/11/12(水) 10:35:40 ID:siC3orKI0
- >>451がもう答えてくれているが、もしそれでもピンと来ないなら
let angle = dir;
let angle = dir - way * span;
let angle = dir - way / 2 * span;
let angle = dir - (way - 1) / 2 * span;
これらを全部試してみることをお勧めする
4つ目の式が何をするための式かがよくわかるはず
弾幕風は試行錯誤が大事だぜ
- 453 :名前が無い程度の能力:2008/11/12(水) 13:24:14 ID:we6vMSvA0
- >>450
変数wayをそのまま撃ちたいWAY弾のWAY数に合わせた式がそれ。
単発ショット、奇数WAY、偶数WAYのいずれにも適用できるよう一般化した結果だね。
- 454 :名前が有る程度の能力:2008/11/14(金) 18:26:15 ID:dpe30.j.0
- if(count==60)
{
SetMovePosition2(ランダムで,60);
count=0;
}
count++;
質問です
上のでランダムに何回か動かしたいんですが
一回動いた後に二回目から動かなくなるんですが
何が原因でしょう
何か小さいミスのような気もします
教えてくださいお願いします(゜ε゜)
- 455 :名前が無い程度の能力:2008/11/14(金) 18:46:48 ID:2OehmJpc0
- >>454
if(count%60==0)//60fで作動
{
SetMovePosition2(ランダムで,60);
}
count++;//←無限に増える
- 456 :名前が有る程度の能力:2008/11/14(金) 19:31:58 ID:dpe30.j.0
- なるほど
ありがとうございます
- 457 :名前が無い程度の能力:2008/11/14(金) 20:55:20 ID:rEtCe0AY0
- ケロちゃんの弾幕みたいなの作りたいんですけどどうすればいいの
- 458 :名前が無い程度の能力:2008/11/14(金) 21:08:22 ID:..h6TtQ60
- |∧∧
|・ω・) ダレモイナイ...
|⊂ トウカ スルナラ イマノウチ...
|
ttp://coolier.sytes.net:8080/th_up3/file/th3_6709.jpg
ttp://coolier.sytes.net:8080/th_up3/file/th3_6710.jpg
ttp://coolier.sytes.net:8080/th_up3/file/th3_6711.jpg
ttp://coolier.sytes.net:8080/th_up3/file/th3_6712.jpg
ttp://coolier.sytes.net:8080/th_up3/file/th3_6713.jpg
ttp://coolier.sytes.net:8080/th_up3/file/th3_6714.jpg
というわけで、昔作ったものをこっそりとリメイクしてたりします
完成は年明け頃になれば良いかなぁ、と思ってたり
ちなみに色々と無茶をしてるので時と場合によっては夢終劇より重くなったりします…
何とかして処理軽くしないとなぁ
- 459 :名前が無い程度の能力:2008/11/14(金) 21:09:19 ID:doh5/ukQ0
- 質問の仕方をもう少しどうにかする
- 460 :名前が無い程度の能力:2008/11/14(金) 21:31:07 ID:7pg52l6Y0
- >>457
がんばる
>>458
がんばれ
- 461 :名前が無い程度の能力:2008/11/14(金) 22:47:56 ID:8nYBDNoE0
- そういや初めて作った弾幕は蛙狩のコピーだったなぁ
懐かしい
- 462 :名前が無い程度の能力:2008/11/15(土) 00:13:08 ID:r42hl9QYo
- >>457
まずどの弾幕を作りたいか、そこから質問したらいいかも。
漠然としすぎて答えづらいです…。
それはそうと、弾幕風初心者にはおくう第1通常コピーが簡単かもとオモタ
loopとascentの使い方を覚えるならオススメっぽい。
RoundShot02をloopで回して連射
↓
CreateShot02をascentで角度を変えて全方位化、loopで回して連射
↓
代わりにCreateShotAを使い、角速度を付ければ第3通常になる
- 463 :名前が無い程度の能力:2008/11/15(土) 01:06:01 ID:EpSI9pjs0
- 自分にはどうにも手のつけようがなかったので質問です。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6724.txt
↑に於いて、レーザーが画面端で逆方向に移動するように作ってみたのですが、
プレイヤーが初期のX、Y座標から動かなければ(真横or縦のみの移動ならば)ちゃんと動作するのですが、
それ以外の方向に少しでも移動すると、跳ね返らずそのまま画面端で停止してしまいます。
いったい何が原因なのか自分にはわかりません…。
- 464 :前スレ330:2008/11/15(土) 01:11:46 ID:9S.TWd6o0
- >>417
巫女組は双方とも霊撃なのね。
>>421
弾幕風起動時に大体57あたりですが、これといって重くはなかったです。
背景のリアルさに惚れた。
と、そんなこんなでアリス風1枚。地霊殿っぽい雰囲気。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6725.zip
- 465 :名前が無い程度の能力:2008/11/15(土) 04:11:33 ID:Mw6oSVO20
- >>454
条件分岐自体はちゃんとcountの値をリセットしてるので間違っているわけではないです。
移動先を指定する変数をグローバルで一回宣言したっきりになっていて
1回目の移動先とそれ以降の移動先が毎回同じになっているというオチのような気がします。
>>463
>画面端で停止
通常レーザーや弾は画面外の一定ラインを越えると自動削除されます。
そのせいでwhile( !Obj_BeDeleted(obj) )のループから出てしまうのが停止の原因です。
オブジェクトを自動削除させない関数があるのでそれを宣言すると、
多分レーザーが停止せずに画面外に出ていきます(マテ
>跳ね返らず
跳ね返りの条件分岐if(Obj_GetX(obj)==max-1 || Obj_GetX(obj2)==mix+1)に穴があります。
objの初期位置がmaxより大きかった場合、どういうことになるでしょう?
もう一つ、自機の位置が小数点以下の数値を持っていた時上記の条件分岐は成立するでしょうか?
これらに注意してスクリプトを見直してみてください。
if(Obj_GetX(obj)>=max-1 || Obj_GetX(obj2)<=mix+1)にして、レーザー発生位置を必ず画面内にする
(自機が画面端付近にいた時レーザー発生位置を調整する)というのが多分意図している動作に近づくかと。
- 466 :名前が無い程度の能力:2008/11/15(土) 05:03:40 ID:Mw6oSVO20
- >>463
もう一つ、本筋とは関係ないですがlengthは共通の関数に同名のものがあるので
変数の名前としては使わない方が良いかと。
現状これと言って悪さしているわけではありませんが、念の為。
>>421
・横揺れに対するこだわりに吹きました。これは良い横揺れ。
でも、画像をずらした都合で接触判定が怪しいことになっているような。
・動作自体はスクリプト製作用の旧PCでも今のところ問題なかったです。
・演出にこだわりが感じられて素敵ですね。残り時間も自作になる予感がひしひしと。
>>396&>>464
・式神コンビはアリスの移動で弾幕の形を崩してくるというバランスが絶妙でした。
・橙→藍になる時は橙自爆させて改めてアリスから藍を出す感じにすると良かったかも。
・妖Exのように回転半径が変化するとかあっても良かったかも。油断してると体当たりを食らう感じで。
・アリスの人形シリーズはどれも人形がアリス中心の円運動メインなので、
そろそろ違う動きが見たいような。
・ゾンビはミサマリ使った時の一網打尽っぷりに吹きました。
復活→一箇所に集まる→爆風でまとめて消し飛ぶ→復活の無限ループ
・さりげなくゾンビ妖精のドット絵が専用のものになってますね。いい仕事です。
・体力増減のスクリプトがボス本体のみにしか適応せず〜のくだりがよく分からないです。
SetLife,AddLifeは使えたし、ザコのライフはGetLifeで取得できるので体力増減での実装も
普通にできる気が。
- 467 :名前が無い程度の能力:2008/11/15(土) 23:30:47 ID:EpSI9pjs0
- >>465
>跳ね返りの条件分岐〜
おお、まさにその通りでした。
書き直してみたところ、正常に動作しました。
こんな単純なことに気付かない自分…orz
どうもありがとうございました。
- 468 :名前が無い程度の能力:2008/11/17(月) 22:23:40 ID:6jJFF3mA0
- 夜雀スペルの暗闇はどうやって作ろう?
- 469 :名前が無い程度の能力:2008/11/18(火) 11:38:02 ID:NSzNBXXs0
- >>464、>>466
動作報告ありがとです。
私の作成(兼プレイ)PCの性能が低いので、大体35〜47fpsで安定してましたからね、
ちょっと不安になっていたのですが、問題無く動くと聞いて一安心です。
>>464
>背景のリアルさに惚れた
よせやい。惚れ返しちゃうじゃないか(*ノノ)
>>466
>接触判定に怪しさが
矩形設定が面倒だった事に便乗して、他の設定を見直すのが面倒でした。よし、これで問題解決(していない)
>演出にこだわり、素敵
演出にはそこまで力を入れてないと、自分で思っていたりするのですが、「素敵」と言う言葉に歓喜な私(*・ω・)
まぁ、弾幕作れって話ですけどね(`・ω・)
それなりにオリジナルっぽい弾幕作ってはいるけれども、納得のいく作品が出来ない(´・ω・)
演出で誤魔化すのは弾幕ならずとか思って来だした今日この頃・・・
おりじなりてぃーが欲しいorz
>>468
ヒントはエフェクトオブジェクト(←が最も単純で簡単な作り方だと思ってたりする私)
ttp://coolier.sytes.net:8080/th_up3/file/th3_6796.zip
に答えが入ってたりしますが、
まずは「img→object」フォルダにある、「black_960_960.png」の画像を使って悩んでみてください(ぁ
って、てゐが言ってた。
ついでに、>>466の期待に答えてみて、自作の残り時間も組み込んでたりします。
が、これは「企業秘密」と言ってみるテスト(*´ω`)
- 470 :名前が無い程度の能力:2008/11/18(火) 13:42:58 ID:JiB7jjLY0
- 連投ゴメン
>>427位からワイワイ言ってた波粒ってのがよくわかんないけど、
ある一定の方向に回転し、回転に減速が掛かり、逆回転へ移行
ってこんな感じか?って簡単に作ってみた
ttp://coolier.sytes.net:8080/th_up3/file/th3_6797.txt
回転の開始に加速するし、回転速度が一定じゃないから違うんだろうけど・・・
動作の詳細がワカランorz
- 471 :名前が無い程度の能力:2008/11/18(火) 18:46:43 ID:yR5OdSeM0
- >>470
あんま話題に出すのはアレだがニコ動で見れるから確認してみるといい。sm5225174
ちなみに条件分岐させる必要はない。
- 472 :名前が有る程度の能力:2008/11/18(火) 20:26:05 ID:GFbk7MfI0
- 質問よろしいだろうか
もこたんの正直者の死で横サイドから出る
なんかへにょへにょした弾(角度変わってすぐもどるを繰り返してるやつ)みたいのはどうやったらできるでしょうか
何回挑戦してもできません
教えて下さい
- 473 :名前が無い程度の能力:2008/11/18(火) 20:50:37 ID:dWcfcnlc0
- 綺麗な曲線を描いているなら大抵sinかcos使えばいける
例えば
let count=0;
loop{
CreateShot01(GetX,GetY,3,sin(count)*20,RED01,0);
yield;
count+=5;
}
こんな感じで
- 474 :名前が有る程度の能力:2008/11/18(火) 20:57:27 ID:GFbk7MfI0
- すいません
厨房なもんでsinとかcosとかが理解できませんorz
よければ教えて下さい
- 475 :名前が無い程度の能力:2008/11/18(火) 21:24:40 ID:CppkwNIQ0
- 大丈夫だ、消防の頃の俺でも使えた
理解はしなくていい
ttp://hakuhin.hp.infoseek.co.jp/main/as/math.html
こことかわかりやすいと思う。ASだけど
- 476 :名前が無い程度の能力:2008/11/18(火) 21:36:31 ID:KEKAg.OM0
- sinやcosが分からないなら弾幕風に手を出すのはまだ早いと思う
習うまで待てないのなら、聞く場所はここじゃない
- 477 :名前が無い程度の能力:2008/11/18(火) 21:48:29 ID:3mEcXjp60
- そうは言ってもこういうのを通じて三角関数についてなんとなく学んでいくのは良いことじゃないか
俺も>>475と同じく小学生の頃BASICで図形を描こうとしていじってたよ
括弧の中身を変えていくと-1と1の間を滑らかに往復するって認識だけでもそれなりにいける
自前で円を描く時に必要になるってのを知ればもうだいたいOK
- 478 :名前が無い程度の能力:2008/11/18(火) 21:54:52 ID:HBd5US3A0
- >>474
弾幕風Wikiの弾幕風ヘルプ見た?
- 479 :名前が無い程度の能力:2008/11/18(火) 22:46:21 ID:CppkwNIQ0
- 波だったらここにわかりやすい解説があるぜ。
ttp://hakuhin.hp.infoseek.co.jp/main/as/move.html#MOVE_03
- 480 :名前が無い程度の能力:2008/11/19(水) 05:17:45 ID:JyIqHCoY0
- >>471
確認してみた所、
確かにあれは減速→逆回転じゃなくて、同一方向への回転でしたね
回転角度を増加させるだけで結構似た感じの作れたッス
task shot {
let i = 0;
let angle = -90;
let shot_angle = 0;
loop {
while (shot_angle < 360) {
CreateShot01(GetX, GetY, 3.5, angle + shot_angle, PURPLE11, 15);
shot_angle += 360 / 5;
}
shot_angle = 0;
angle += i / 8;
w(2);
i ++;
}
}
あぁ〜、スッキリした
ちなみに条件分岐って>>470の事だったのかな?
if関数もalternative関数も使ってないっすよ
- 481 :名前が有る程度の能力:2008/11/19(水) 14:41:31 ID:6pQT1hRw0
- >>475
ありがとうございます
>>476
>>478
すいません
やっぱ勉強がたりませんでしたか?
もうちょい詳しく理解するまで
弾幕風は封印しようと思います
- 482 :名前が無い程度の能力:2008/11/19(水) 15:03:50 ID:AsA6eixI0
- 三角関数は計算式にすると難しいが、要するに「円」を「直感的に」扱える関数だ。
はっきりいって高校で習うわかりにく〜〜〜いアホみたいなsin cosの式とにらめっこするより、
弾幕風でsin cosをいじり倒すほうが勉強になるんじゃね?
task shot {
let angle = 0;
let kyori = 50;
loop {
CreateShot01(GetX + sin(i) , GetY , 3.5, i, RED11, 15);
CreateShot01(GetX + sin(i) * kyori, GetY + cos(i) * kyori, 3.5, i, BLUE11, 15);
i++;
yield;
}
}
このタスクを実行してくれ。
赤と青の玉の動きと、式の違いを確認してくれ。
- 483 :名前が無い程度の能力:2008/11/19(水) 15:09:32 ID:AsA6eixI0
- ごめん↑バグってる…
task shot {
let angle = 0;
let kyori = 50;
loop {
CreateShot01(GetX , GetY , 3.5, i, RED11, 15);
CreateShot01(GetX + sin(angle) * kyori, GetY + cos(angle) * kyori, 3.5, i, BLUE11, 15);
i++;
yield;
}
}
こっちです。ごめん。
- 484 :名前が有る程度の能力:2008/11/19(水) 15:20:29 ID:6pQT1hRw0
- 本当にすみません
最近勉強始めたばっかなので
タスクとかよくわからんのですよ
本当にすいませんorz
- 485 :名前が無い程度の能力:2008/11/19(水) 15:25:21 ID:hKOZTtZk0
- うっとうしいから無駄な改行とageとorzをやめろ
- 486 :名前が有る程度の能力:2008/11/19(水) 15:30:03 ID:6pQT1hRw0
- >>485
すいません
改行は癖みたいになってて
あとageについてはある方にアドバイスもらってやってました
orzも使わないようにします
こんな駄目なやつですいません
- 487 :名前が無い程度の能力:2008/11/19(水) 15:55:38 ID:nkgqnDSs0
- >>486
基本的な部分が分からないうちに実際の運用例を挙げるのもアレなんで基本的なことから。
まず、紙とペンを用意する。
紙にX軸、Y軸を描き、さらに点O(0,0)を中心とする半径1の円を描く。できれば少し大きめに。
円とX軸との交点を点A(1,0)、円周状の任意の点を点Bとする。
角AOBの成す角度をθ(シータ、角度の変数によく使う)とすると点Bの座標は(cosθ,sinθ)と書ける。
ここまでをまず実際に紙に書いてみてくれ。
- 488 :名前が有る程度の能力:2008/11/19(水) 16:03:57 ID:6pQT1hRw0
- 書きました
- 489 :名前が無い程度の能力:2008/11/19(水) 16:25:08 ID:nkgqnDSs0
- キャー誤字発見 ×円周状 ○円周上
sinとかcosってのは角AOBの成す角度θから半径1の円の円周上の点を求める式だってことを理解しておくといい。
次に、半径が2とか3の場合は?ってことになるがこれは単純に(cosθ,sinθ)を2倍、3倍すればいい。
コンパスがあるなら正確に作図してみると分かる。
半径と角度が分かればある点を中心とした円周上の点の位置をsinとcosで表せる。
これを頭の中で図として思い浮かべられるようになるといろいろ便利。
ここまでが第一ステップ。
- 490 :名前が有る程度の能力:2008/11/19(水) 16:27:39 ID:6pQT1hRw0
- なるほど
なんとなくわかる
- 491 :名前が無い程度の能力:2008/11/19(水) 16:33:37 ID:nkgqnDSs0
- >>488
おk、とりあえず>>489の内容がなんとなく分かったと仮定して次、sin,cosの性質について行こうと思う。
描いた図のX軸とY軸を正の方向に延長してくれ。
そして円に重ならない位置に伸ばしたX軸、Y軸に垂直な直線をそれぞれ引く。
で、その交点を原点にしてsinθ,cosθのグラフを描くことができる。
- 492 :名前が有る程度の能力:2008/11/19(水) 16:41:09 ID:6pQT1hRw0
- すいません
描いた図のX軸Y軸を正の方向に延長ってどういうふうにやるんですか
- 493 :名前が無い程度の能力:2008/11/19(水) 16:45:05 ID:nkgqnDSs0
- まず、X軸方向に延長させた方について
円周上に点Bを取ったけど、これをX軸に平行に垂線の方向に移動させていく。
移動させる量は角AOBの成す角度θの大きさに比例して大きくなるようにする。
つまり延長させたX軸を新しくθ軸(垂線との交点を0°)とするわけだ。
まずθを0°、90°、180°、270°、360°とした場合の点BのY座標を移してみる。
その後、その間の細かい点を適当に取って移してみる。
Y座標、つまりsinθのグラフがこうすることで描ける。
Y軸を延長した方も同じように作図するとcosθのグラフが描ける。
ちょっと分かりにくいかな。
- 494 :名前が無い程度の能力:2008/11/19(水) 16:47:06 ID:nkgqnDSs0
- >>492
"+"をX軸とY軸とすると"++"みたいな感じ。
最終的に
+
++
みたいな風に作る。(左下が元のX軸Y軸)
- 495 :名前が無い程度の能力:2008/11/19(水) 16:50:49 ID:nkgqnDSs0
- あー、ひとつ補足。
角AOBの成す角度は常にX軸から反時計回りに測ること。
途中でこっちの方が小さい角度だから、と逆にしないように。
- 496 :名前が無い程度の能力:2008/11/19(水) 16:54:44 ID:0LcZgJ7.0
- 横から参考資料
ttp://blogs.manapo.com/radio/archives/070723000030.html
案外単位円つきのグラフって転がってないものね。
- 497 :名前が無い程度の能力:2008/11/19(水) 16:58:58 ID:nkgqnDSs0
- ちょうどいいもの見つかった
ttp://cosmath.com/math/triangle/triangle2.html
作図がしっかりできるとこんな感じになる。
- 498 :名前が無い程度の能力:2008/11/19(水) 17:39:21 ID:nkgqnDSs0
- 出来上がった図を見ると、sinθ,cosθどちらも−1から1までの間を周期的に変化していることが分かると思う。
(360°以上は元の円を見れば分かるように1回転して元に戻っている)
これが三角関数の重要な性質。
この性質を利用した例が正直者の死の横から出ている弾になる。
ある方向angleを基準に範囲Aの間を行ったり来たりする場合
angle+A*sin(t)
としてtをだんだん変化させていけばいい。
例えば
let t=0;
let angle=90;
let A=30;
let B=5;//tの増分
@MainLoop{
t+=B;
CreateShot01(GetX,GetY,3,angle+A*cos(t), RED11,0);
}
- 499 :名前が有る程度の能力:2008/11/19(水) 17:55:24 ID:6pQT1hRw0
- なんとなくわかってきたかも
angle+A*cos(t)の部分をもうちょい詳しく教えていただけますか
- 500 :名前が無い程度の能力:2008/11/19(水) 18:50:51 ID:nkgqnDSs0
- >>499
cos(t)てのはさっきから出ているcosθと同じもの。-1<=cos(t)<=1の範囲を周期的に変化する。
cos(何か)は”(何か)”の中身がどんな式であっても-1<=cos(何か)<=1という範囲になる。
ここで、cos(t)そのものを2倍、3倍にすれば周期的に変化する範囲が2倍、3倍となる。
2*cos(t)ならこれは-2<=2*cos(t)<=2、3*cos(t)なら-3<=3*cos(t)<=3というように。
(半径2の円、半径3の円で>>491の操作をやったものと考えてもいい)
angleは周期的な運動の基準となる値。
点Oの位置が(0,0)じゃなくて(1,1)とかだった場合に今までと同じ作図をしてみると
sinθやcosθは振動の形はそのままに全体がちょっとずれる、ということになると思う。
これらを弾の発射角度に利用したのが>>498の例。
悩んだらとりあえず図を描いてみるといい。
- 501 :名前が無い程度の能力:2008/11/19(水) 18:58:17 ID:nkgqnDSs0
- ちょっとミス
×点Oの位置が(0,0)じゃなくて(1,1)とかだった場合に今までと同じ作図をしてみると
○点Oの位置が(0,0)じゃなくて(1,1)、点Oを通るX軸に平行な直線と半径1の円との交点をA(2,1)
とかだった場合に今までと同じ作図をしてみると
ちなみにこの場合、円周上の任意の点Bは(cosθ+1,sinθ+1)になる。
- 502 :名前が有る程度の能力:2008/11/19(水) 19:22:19 ID:6pQT1hRw0
- なるほど
詳しい説明ありがとうございます
こっからは自分でも頑張ろうと思います
- 503 :名前が無い程度の能力:2008/11/19(水) 20:59:17 ID:iXV.lie.0
- 三角関数はここ読んどけば。
ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/products/thdnhlec/010.html
- 504 :名前が無い程度の能力:2008/11/19(水) 21:30:22 ID:fu7AVPlg0
- なんか講座がはじまっとるw
がんばっておくれ
- 505 :名前が無い程度の能力:2008/11/19(水) 22:35:11 ID:S8YaztgY0
- ロールシャッハを再現しようとしててリサジュー曲線はできたんだが、
そのあとの弾の動く向きをどう指定したらいいのかさっぱりわからない。
あれはどういう法則性で動いてるんだ?
- 506 :名前が無い程度の能力:2008/11/19(水) 22:59:43 ID:0LcZgJ7.0
- >>505
>>370-380あたりで同じような話題があったような気がする。
気がするだけで違ってたらスマソ
- 507 :名前が無い程度の能力:2008/11/19(水) 23:22:09 ID:c48DYVc.0
- 法線方向に一定速度で飛ばしてるだけだと思ってたが・・・・・
- 508 :名前が無い程度の能力:2008/11/19(水) 23:51:22 ID:8/I.BNkw0
- 今見てみたけど法線ではないね
一定速度で飛ぶ方向を回転させてるだけじゃないかな?
リサージュと同期してるかどうかはわかんない
- 509 :名前が無い程度の能力:2008/11/20(木) 07:44:45 ID:/vrD6wTA0
- 天人くずれな自機スクリプト置いておきます。
↓
比那名居 天子 自機スクリプト
ttp://coolier.sytes.net:8080/th_up3/file/th3_6818.lzh
- 510 :名前が無い程度の能力:2008/11/20(木) 17:56:23 ID:7EktpxQ20
- 橙や藍のように移動中だけ画像を回転させるにはどうすればいいんですか?
- 511 :名前が無い程度の能力:2008/11/20(木) 18:32:10 ID:yl54pKzo0
- DrawGraphicで敵画像を描画していると仮定して回答
まず画像を回転して描画する方法についてはSetGraphicAngleを使う
第3引数がZ軸の回転になるのでここを変化させていくと回転する
移動してるかを判別するのはMainLoopの方でやるべきだとは思うけど
移動とかの関数は内部的にはスピードを弄ってやられてるようなので
DrawLoopの中でGetSpeed>0の場合に実行するようにしてもどうやら可能のよう
ただしこの場合逆に移動してる間しか回転できなくなるので注意
SetXとかで直接移動させてる場合もこの手段は使えません
正攻法的には回転中というフラグを別に立てて回転させる処理をする
移動にかかるフレーム数を計算しないと回転終了時の角度が不自然になるのに注意
- 512 :名前が無い程度の能力:2008/11/20(木) 20:04:27 ID:n3LXr.S.0
- >移動にかかるフレーム数を計算しないと回転終了時の角度が不自然になるのに注意
あるあるw考慮してなかったから藍様の頭が右下になってたことが。
- 513 :名前が無い程度の能力:2008/11/20(木) 21:13:40 ID:7EktpxQ20
- 藍しゃまが回転しました!ありがとうございます!
なんかすごいそれらしい…
ちなみに、DrawLoopに
if(GetSpeed<=0) {
SetGraphicAngle(0,0,0);
}
をいれたらちょっと不自然な時もありますが
移動後に元の角度にもどりました。
- 514 :名前が無い程度の能力:2008/11/20(木) 21:31:06 ID:V06HkpjU0
- 移動方向に合わせて画像を絵画させるタスクを作っていたのですが、
斜めに移動しているのに正面を向いている画像になったり、
リプレイすると、さっきとは違う画像になります。
どこをどうすれば直りますか?
ttp://coolier.sytes.net:8080/th_up3/file/th3_6823.zip
- 515 :名前が無い程度の能力:2008/11/21(金) 02:03:10 ID:q26XAZIg0
- >>468-469の暗闇の流れが気になったので作成&ついでだからライブラリっぽく
副作用としてルーミアのような暗闇も一応可能だった
しかしポリゴン180枚使用とかアホ仕様なのでこのままお蔵入りさせたい…w
ttp://coolier.sytes.net:8080/th_up3/file/th3_6834.zip
- 516 :ミレイ ◆orK.MILLAY:2008/11/21(金) 10:35:29 ID:yl75cTYk0
- ◆弾幕風コンテスト主催者よりお知らせ
現在、大学受験を控えているため、今後〜1月までPCを一切使えなくなります。
そのため、コンテスト会場内において、「お題が変更されていない」等、コンテストに影響が出てしまうかもしれません。
何卒ご理解の方をよろしくお願いします。
また、来月はコンテスト1周年。参加できないのは残念です。
- 517 :名前が無い程度の能力:2008/11/21(金) 20:04:40 ID:ynDbHeTU0
- そういや、風以降のシステムで藍橙が出てきたら、負け演出で墜落する時も
くるくる回ってるんだろうか。あれ基本的に横移動の絵を使ってるから。
- 518 :名前が無い程度の能力:2008/11/21(金) 21:19:57 ID:U5Fx4XOs0
- まず雛を見てほしい
- 519 :名前が無い程度の能力:2008/11/22(土) 01:37:18 ID:FpKd2h3.0
- すごく簡単な質問かもしれませんが
本家みたいに敵キャラをぷかぷかと浮かせるのにはどうすればいいんでしょうか
- 520 :名前が無い程度の能力:2008/11/22(土) 08:57:25 ID:dA2xOs8g0
- >>519
敵キャラをぷかぷかと浮かせるといいよ。
1.よく観察して、動きの癖を言葉で詳細に表す。
2.観察の結果をコードに落とし込む。
3.全裸でデバッグ。
- 521 :名前が無い程度の能力:2008/11/22(土) 14:10:13 ID:TxYDEdqs0
- >>520
カオスだが分かる気もする不思議!
>>519
敵キャラのY方向の速度を上げ下げするんだ
何か一つ変数を適当に作って-1〜1の間を少しずつ行ったり来たりさせる
その値を速度に代入させれば幸せになる
- 522 :名前が無い程度の能力:2008/11/22(土) 19:29:38 ID:FpKd2h3.0
- >>520
>>521
すいません色々やってみたんですけど失敗続きで
もしよろしければもう少し詳しく教えて頂けないでしょうか
- 523 :名前が無い程度の能力:2008/11/22(土) 20:15:44 ID:Y1dako7c0
- >>522
それ以前に何をしたいのかを伝えれてない
さとりんじゃないですから・・・
- 524 :名前が無い程度の能力:2008/11/22(土) 20:30:10 ID:.ixqYHdA0
- 弾幕風講座の第25回を見ると幸せになれるよ
- 525 :名前が無い程度の能力:2008/11/22(土) 22:12:06 ID:FpKd2h3.0
- >>523
すいませんこれから
具体的に伝えるようにします
>>524
弾幕風講座第25回のプログラムにわかりやすく書いてありました
教えてくださりありがとうございました
- 526 :名前が無い程度の能力:2008/11/22(土) 22:12:38 ID:FpKd2h3.0
- >>523
すいませんこれから
具体的に伝えるようにします
>>524
弾幕風講座第25回のプログラムにわかりやすく書いてありました
教えてくださりありがとうございました
- 527 :名前が無い程度の能力:2008/11/22(土) 23:13:46 ID:dcV7bz820
- 大事なことなので(ry
- 528 :名前が無い程度の能力:2008/11/23(日) 03:28:23 ID:dmFIRvOo0
- すいません 何方かFLANので背景の表示方法知っている方教えてください。
#BackGround[]を定義しても表示されないので
- 529 :名前が無い程度の能力:2008/11/23(日) 11:00:30 ID:g.yJ4mxk0
- ちょっと教えてください
ルーミアみたいに出す弾幕変えるのはどうやるんですか?
3・4種類位から選べるのがいいです
- 530 :名前が無い程度の能力:2008/11/23(日) 11:39:53 ID:jAm/mPcs0
- >>529
それぞれの攻撃を別々にサブルーチンとして用意しておく
攻撃の順番を配列に入れ、ランダムに順番を並び替え(前スレ677-680参照)
alternative分岐に用意したサブルーチンを入れて配列の長さ分だけループ
- 531 :名前が無い程度の能力:2008/11/23(日) 11:47:30 ID:bsk7UPSQ0
- >>529
rand_intとalternativeでいけんじゃね?
- 532 :名前が無い程度の能力:2008/11/23(日) 12:28:27 ID:mmgPZnSQ0
- 神主とか他のといろいろ比較されてしまうから
なかなか作っても評価されにくいよなー
作るほうは評価を求めているのではないけどね
- 533 :名前が無い程度の能力:2008/11/23(日) 16:41:37 ID:gqnwIKmA0
- 東方にちょっとでも似ていたら「○○のパクリwwww」ってなる理屈はどうかと思う
- 534 :名前が無い程度の能力:2008/11/23(日) 17:34:32 ID:QuFRLrU.0
- ニコニコでの夢終劇の叩かれ方は異常だしな
パクリゲーって言われまくってるし
ヴォヤージュが流れたら「BGMまでパクリかよ」とか・・・
- 535 :名前が無い程度の能力:2008/11/23(日) 18:01:29 ID:YrYknkkE0
- いやあそこは置いとけよ あそこにパクリの本質が分かってるやつなんていない
- 536 :名前が無い程度の能力:2008/11/23(日) 18:08:22 ID:2Rksvlbw0
- 仮にニコニコで高い評価もらっても、ねぇ
- 537 :名前が無い程度の能力:2008/11/23(日) 18:40:09 ID:.zxzssgE0
- danmaqもアレだけどな
- 538 :名前が無い程度の能力:2008/11/23(日) 19:13:01 ID:cvvwCwvI0
- せっかくだから俺はCAVEシューをパクるぜ
- 539 :名前が無い程度の能力:2008/11/23(日) 19:28:18 ID:I9J4uZxc0
- じゃあ僕は頭脳戦艦ガル!
- 540 :名前が無い程度の能力:2008/11/23(日) 23:01:25 ID:t02BIfk.0
- 敵キャラをぷかぷか上下移動させることに成功したんですけど
今度はSetMovePosition01などで移動ができなくなりました
SetXで移動することは出来るのですがテレポートみたいになってしまいます
何とかして普通の移動をさせることは出来ないでしょうか
何度も何度もすみません
- 541 :名前が無い程度の能力:2008/11/23(日) 23:11:06 ID:19UlpYPM0
- >>540
そういう処理は弾幕風じゃやったことないからわからないけど、
上下にふわふわ動かしてるときに、実際の座標は変わってないの?
画像だけ動かしていれば、そりゃ瞬間移動で上書きされるか、妙な表示になると思う。
本当に移動を受け付けなくなったというなら、座標を元にダミーの絵を表示したらどうよ。
つか、こういうものの本質って目に見えない数字なんだから、見えるものは虚像なんだけれど。
- 542 :名前が無い程度の能力:2008/11/23(日) 23:13:20 ID:19UlpYPM0
- >>535
いやいや……ニコはツールというかメディアというか、
それ自体はなんの性質も持ってないから、真っ当なのも多く居ると思うよ。
ニュアンスとしては全面的に同意。
- 543 :名前が無い程度の能力:2008/11/23(日) 23:25:59 ID:cvvwCwvI0
- >>540
ぷかぷか移動と大きな移動を別タスクで別々に処理すればいいと思う
ぷかぷかを最初にtaskで実行して他のをsubで
- 544 :名前が無い程度の能力:2008/11/24(月) 00:47:52 ID:q1K.9V4g0
- SetXは実際はGetXで得られる値を変化させるものだと割り切ると考えやすい
当たり判定登録するのもGetX使って指定してるからね
雑魚敵だと画面外に出たと判断されてこれだけじゃない時もあるだろうけどね
おそらくSetSpeedで変化させることで上下移動を実現させたんだろうけど
移動系の関数も内部でSetSpeedとSetAngleを使ってるのでそこと競合してる
ぷかぷか移動させる判定の方こそSetY=GetY+sin(count)という感じで使って
外部に影響出さないように処理すべき
- 545 :名前が無い程度の能力:2008/11/24(月) 03:00:55 ID:S59YvKwY0
- >>540
画像描画、当たり判定、弾発射の座標の方に上下振動の要素を入れ込め。
Y=GetY+sin(count);
SetCollisionA(GetX(),Y,32);
CreateShot01(GetX(),Y,3,90,RED01,30);
DrawGraphic(GetX(),Y);
みたいな感じで。
移動系関数の優先順位は SetX、SetY>SetMovePosition系>SetSpeed、SetAngle
同一フレームにこれらが呼ばれていると見掛け上左側のものしか実行されない。
- 546 :名前が無い程度の能力:2008/11/24(月) 08:27:53 ID:S0BZ4.xk0
- yahoo検索で探したんですけど、チルノのドット絵って、意外と無いんですね・・・
ググッた方が良かったんでしょうか?w
- 547 :名前が無い程度の能力:2008/11/24(月) 11:40:25 ID:mLKxOBjIO
- >>546 もう⑨って呼ばせない 〜 チルノExに入ってるやつがあるが、あれは無断で使っていいものなのかな
- 548 :名前が無い程度の能力:2008/11/24(月) 11:51:11 ID:mLKxOBjIO
- 今夢終劇likeな6面+αのスクリプトを作っていて、昨日3面までステージスクリプトできたからタイトル画面やMusicRoomを作ろうかと試みたのですが、どうやってフレーム枠の外側に画像を貼るのですか?
タイトル画面用の640 * 480の画像はあるのですが、
@DrawTopObject{
DrawGraphic(320, 240)
}
にすると枠内しか表示されず、"img\STG_frame"にも同じ画像を入れてみたら一応タイトル画面は出来ましたが、これではゲーム中も枠外がタイトル画面の画像になってしまいます
誰か創った経験のある方や分かる方いたら教えて下さい
- 549 :名前が無い程度の能力:2008/11/24(月) 11:54:31 ID:weLi9v7k0
- 夢終劇なりなんなり覗いてみればいいじゃない
- 550 :名前が無い程度の能力:2008/11/24(月) 11:57:00 ID:uMj0eSLM0
- 紅月夜とかな
- 551 :名前が無い程度の能力:2008/11/24(月) 12:00:04 ID:mLKxOBjIO
- >>549 いや.dnhに圧縮が
え?解凍機があるって?
- 552 :名前が無い程度の能力:2008/11/24(月) 12:47:19 ID:lfjh97vI0
- >>541
>>543
>>545
>>545
ちゃんと普通に動きましたありがとうございます
- 553 :名前が無い程度の能力:2008/11/24(月) 17:06:15 ID:EeExsqCI0
- .dnhをテキストエディタで開く(常時)お勧め
- 554 :名前が無い程度の能力:2008/11/24(月) 17:41:54 ID:HPgnYcok0
- 一時的に攻撃を禁止したいんだけどできるかな?
- 555 :名前が無い程度の能力:2008/11/24(月) 18:22:36 ID:q1K.9V4g0
- >>554
ヘルプ一通り眺めようぜ?
- 556 :名前が無い程度の能力:2008/11/24(月) 19:13:44 ID:HPgnYcok0
- >>555
あったのね・・・
正直すまんかった。
- 557 :名前が無い程度の能力:2008/11/25(火) 17:42:56 ID:IoUTv1hA0
- サンプルになるかどうか分からないスクリプトを2種
本家に似た感じのロード画面っぽいスクリプト
ttp://coolier.sytes.net:8080/th_up3/file/th3_6876.zip
単発スクリプトに見えるステージスクリプト
ttp://coolier.sytes.net:8080/th_up3/file/th3_6877.zip
ある程度基盤が出来てきたので、後は色々と修正したりなんたり・・・
調整とかメンドウだなぁorz
いつも通り、まともな組み方してないし、意図不明なファイルがあったりしますが、
そこは優しくスルーしといてください。
あんまり問い詰めると好きになっちゃいます(*・ω・)
- 558 :名前が無い程度の能力:2008/11/25(火) 22:49:08 ID:B/ki3Ppw0
- >>514を誰か分かる方いらっしゃいますか?
- 559 :名前が無い程度の能力:2008/11/25(火) 23:28:38 ID:xr8A5Mmk0
- >>558
「任意の、任意の妖精が持つ、現在の移動量は……」
「目下捜索中だ。余り気に病むなよ」
「このまま闇雲に戦って、闇雲に進んで、それでどうなるっていうんですか!」
「上の連中には、前線の事など見えていない。現場は現場で何とかするしかないんだ」
「だけど、どうやって」
「正規のやり方だけが戦いではないさ。もう下がれ」
「いいぞヒヨっ子。戦場ではな、常に自分の動く方向さえ気にかけていればいいのさ」
「装備がもう少し軽ければいいんですがね」
「気にするな。わしらがガキの頃は百倍は重かったさ」
- 560 :名前が無い程度の能力:2008/11/26(水) 00:04:54 ID:05wM83vc0
- >>558
GetSpeedXはSetMovePosition系の移動用関数でしか正常な動作をしないようです。
(ついでに左右移動の分岐が逆になっているような)
なので条件分岐を移動方向で行うようにすれば良いかと。
つまり、
if(cos(GetAngle)>0){SetGraphicRect(32 * 5,32 * 1,32 * 6,32 * 2);}//右移動
else if(cos(GetAngle)<0){SetGraphicRect(32 * 1,32 * 1,32 * 2,32 * 2);}//左移動
else{SetGraphicRect(32 * 0,32 * 0,32 * 1,32 * 1);}
みたいな分岐にすれば正常動作すると思います。
- 561 :名前が無い程度の能力:2008/11/26(水) 01:08:59 ID:cqRyQ8r.0
- >>560
説明ありがとうございます。
- 562 :名前が無い程度の能力:2008/11/26(水) 17:11:45 ID:UolzSdL20
- ステージスクリプトでの背景に3Dを適用してのサンプル
ttp://coolier.sytes.net:8080/th_up3/file/th3_6884.zip
ヌメヌメ動きますので、3D酔いしやすい人は注意
- 563 :名前が無い程度の能力:2008/11/27(木) 18:15:16 ID:HKGC..K20
- 弾幕結界とか正直者の死みたいなの作りたいんで誰か元になるの作ってくれる人いません?
- 564 :名前が無い程度の能力:2008/11/27(木) 19:01:47 ID:PcnqzHrI0
- >>563
「とか」って・・・その二つの弾幕的な共通点が見当たらないんだが。
もっとどんなのを作りたいのか詳しく言ってくれないとわからん。
- 565 :名前が無い程度の能力:2008/11/27(木) 19:04:33 ID:8EWezfQ60
- >>563
まずは自分でやってみろと。
- 566 :名前が無い程度の天候:2008/11/27(木) 19:50:23 ID:mMP0gXjw0
- 突然失礼します。
先日、初めて敵スクリプト(使い魔)を作り始めたのですが、
script_enemy内でバグがあると弾幕風が強制終了してしまいます。
これって普通なのでしょうか。
- 567 :名前が無い程度の能力:2008/11/27(木) 20:07:57 ID:IIQz05aY0
- 誤字や構文エラー以外(タスクを実行するタイミングがおかしい、描画関係のバグなど)
のミスをすると強制終了することがあります
- 568 :名前が無い程度の天候:2008/11/27(木) 20:23:16 ID:mMP0gXjw0
- >>567
いえ、構文エラーで起こるんです。
さっきは変数"dr"のところを間違えて"dir"にしてしまったのですが、それでも強制終了です。
ただ、エラーメッセージが2回出てくるんですよね。
2回目のエラーメッセージでOK押したところで強制終了です。
- 569 :名前が無い程度の能力:2008/11/27(木) 22:27:03 ID:mMP0gXjw0
- 今気付いたけど名前・・・
- 570 :名前が無い程度の能力:2008/11/27(木) 23:12:56 ID:p4AsFLpI0
- >>566
恐らく普通かと思われます。ただ自分とは強制終了の仕方が違うようですが。
自分の環境だと、エラーウィンドウが消しても消しても無限に発生して強制終了せざるを得なくなります。
使い魔に限らず、スクリプトショットでエラー起こしても強制終了したりします。
- 571 :名前が無い程度の能力:2008/11/27(木) 23:14:01 ID:Lp5afCZU0
- >>568
強制終了って弾幕風本体が落ちるってこと? それともスクリプトが終了するの?
前者なら、ボス側でゼロフレーム目に使い魔のような敵スクリプトを呼び出すと、
ボスや使い魔の消滅時にフリーズするバグがある(WikiのTips参照)らしいから
それを疑ってみるといいかもしれない。
もし、後者なら単純にエラーメッセージを解決していけばいい。
- 572 :名前が無い程度の能力:2008/11/28(金) 07:24:59 ID:RaO7rT2c0
- ところでミレイさんは不在だが来月のコンテストどーするよ
- 573 :名前が無い程度の天候:2008/11/28(金) 17:03:55 ID:M7rptF2U0
- >>570 >>571
ありがとうございます。
弾幕風本体が強制終了されるのですが、仕様みたいですね。
しかしバグるといちいち終了するのはめんどくさい・・・。
- 574 :名前が無い程度の能力:2008/11/28(金) 18:16:01 ID:WgqJa/I20
- 知る人ぞ知るパズルゲームを再現してみました。
容量大きくてすみません。
ttp://www5d.biglobe.ne.jp/~end2001/danmaku/KC.html
- 575 :名前が無い程度の能力:2008/11/28(金) 19:00:23 ID:HjktFkaE0
- >>574
きね子とは・・・懐かしい
- 576 :名前が無い程度の能力:2008/11/28(金) 21:35:25 ID:EcTmY/L60
- >565
元さえあればデザインは自分で改良します
誰か作ってくれる人いませんか?
- 577 :名前が無い程度の能力:2008/11/28(金) 22:03:17 ID:SMrGq3n60
- >>576
マニュアルにあるぜ、サンプルが。
サンプルと言っても侮れん。だってあらゆる弾幕風の弾幕のベースだぜ?
- 578 :名前が無い程度の能力:2008/11/28(金) 22:10:55 ID:m8/WwRjU0
- >>576
リプレイとスクリーンショット眺めながら自分で頑張って作ってね!
加工したいので弾幕を忠実にコピーして俺にくれってのはふざけてんのか。
- 579 :名前が無い程度の能力:2008/11/28(金) 23:11:40 ID:nwizD7aI0
- >>572
どうしよう。主催者不在だけど、一周年だし、記念っぽい何かをやりたいかも。
- 580 :前スレ330:2008/11/28(金) 23:31:00 ID:c.p.9gIQ0
- 蝶遅レススマン!
>>466
アリス風は円運動を基本として作ってますから、楽といえば楽だったり。
動きの方も円運動以外にも色々加えて生きたいものです。
>霊殿の生き返り人形
一網打尽は……まあ、所詮は雑魚人形なので(酷
逆に撃ち返しで避けずらいものが飛んでこれば、一網打尽したくないものもあるかな、と。
>体力設定
GetLifeというものがあったか……。制作時、SetLifeやAddLifeで試した所、雑魚人形を倒した(一定以下の体力にした)らアリス本体の体力が回復したもので……。
ともかく、ゾンビ化は今のやり方でも十分に理想の実装となったので、あまり気にされなくでも大丈夫です。いつもながらアドバイスありがとうございますっ。
一応、補足として……
ゾンビ化に関しては、>>464のやり方だと、雑魚を倒した際の撃ち返しの@Finalizeで別の使い魔を呼び出す形になってます。
流れとしては……
使い魔A(最初の敵スプリクト)
↓
撃破直後に使い魔B(死亡中の敵スプリクト)呼び出し
↓
一定時間経過後、使い魔C(ゾンビ化した敵スプリクト)呼び出し
↓
撃破直後に使い魔B(死亡中の敵スプリクト)呼び出し
↓
一定時間経過後、使い魔C(ゾンビ化した敵スプリクト)呼び出し
↓
以降、使い魔B・Cのエンドレス
で、実装してます。ただ、このままだと本体を倒した時に連鎖的に倒される使い魔も復活し、永久ループ状態でクリアできなくなるので、@Finalizeにif{GetEnemyLife>0}の条件をつけて呼び出すといいです。
>>509
正面から来る弾は要石で相殺できるとなれば……横から来る弾幕なんかにはめっぽう弱そうな気もします。
>3D画面とか
すげぇ……その一言しかいえない。
……何か弾幕投下させたいけど完璧に出来てない。orz
しかもかなり凝ってるから、一通り出来てる状態だけど、まだまだ掛かりそう……うにゅぅ。
- 581 :名前が無い程度の能力:2008/11/29(土) 01:11:54 ID:9NWwVdNw0
- >>574
知ってはいるがやった事はない俺だけど、きね子懐かしいし面白いじゃないか
俺的には単体のゲームとしてパッケージになってたら買うw
- 582 :名前が無い程度の能力:2008/11/29(土) 12:41:40 ID:EtZFUSK20
- >>572>>579
たまには絶対低評価になりそうなアホな弾幕作って
晒したい気持ちもあるな。
じゃあここで晒せよってつっこみもありそうだけど。
- 583 :名前が無い程度の能力:2008/11/29(土) 17:11:31 ID:9meT0gNo0
- ミレイ氏不在だからコンテスト会場は使えないか。
このスレで何かやる?うーん。
そういえば今更だけど、ミレイ氏受験頑張って。
- 584 :名前が有る程度の能力:2008/11/29(土) 18:53:35 ID:LGo2JB0c0
- 質問いいっすか
大きめの弾を出した後に
それを爆発させて小さい弾に分裂して飛ばす
ってどうやればいいんすか?
AddShotでやったんですが上手くできません
教えて下さい
- 585 :名前が無い程度の能力:2008/11/29(土) 19:31:30 ID:ISuY1A.c0
- 大きめの弾を敵スクリプトで記述すると弾飛ばす以外にも色々できて便利
- 586 :名前が無い程度の能力:2008/11/29(土) 20:41:54 ID:WIjuHtV60
- Obj弾で大弾生成&設定→何フレームかloopさせて
その後に(爆発→小弾ばら撒き→大弾消去)の流れを突っ込む
弾スクリプトでも似たようなことが出来るから、どっち選ぶかは趣味
- 587 :名前が無い程度の能力:2008/11/29(土) 20:48:30 ID:HOhFMHbw0
- >>584
・AddShotの発射元と発射先の指定が逆になってる
・小さい玉の発射フレームと元の弾の消滅フレームが完全に同じになってる
(消滅を1フレ遅らせれば解決)
のどっちかじゃないかと予想
- 588 :名前が無い程度の能力:2008/11/29(土) 21:43:18 ID:hApwxoSw0
- テリブルスーヴニールを作りたいのですがレーザーの動かし方(斜めっているレーザー
、自機にふれるととまるレーザー)がわかりません
- 589 :名前が無い程度の能力:2008/11/29(土) 22:32:30 ID:Guvl7pIA0
- 自機に触れると止まるというよりかは
自機を追い越した瞬間自機の上に止まるという判定のほうが楽じゃないかな
- 590 :名前が有る程度の能力:2008/11/29(土) 22:52:03 ID:LGo2JB0c0
- >>585
>>586
>>587
ありがとうございます
やってみます
- 591 :名前が無い程度の能力:2008/11/29(土) 23:00:13 ID:G2pdH0GY0
- 接触判定使えないからレーザー発生源から見た自機の角度とレーザーの角度を比較するってのになるかな。
それよりもいったん停止したレーザーが再び動く時の挙動が厄介な気がする。
- 592 :名前が無い程度の能力:2008/11/30(日) 00:29:05 ID:hd0bgrog0
- 俺ならレーザーをオブジェクトで作って
当たり判定なし透明オブジェクト弾を自機に重ねて
Collision_Obj_Objを使う
- 593 :名前が無い程度の能力:2008/11/30(日) 12:10:33 ID:LWTFrRt60
- 早苗さんの奇跡みたいな弾幕って
かなり作りにくいね
角度がちょっとでも変わるともう違う・・・
- 594 :<裁かれました>:<裁かれました>
- <裁かれました>
- 595 :名前が無い程度の能力:2008/11/30(日) 21:45:16 ID:5ECmiL1k0
- 一周年+年越し記念に「総勢108人の製作者による108の弾幕」ってのを昼寝中に幻視した
まぁどう考えても108人もいないわけだが
- 596 :名前が無い程度の天候:2008/11/30(日) 22:07:41 ID:M/LmSA0I0
- いきなり質問失礼します。
if(GetEnemyLife != 2000) {...}
としたら、ボスHPが2000の時には...の動作は行われないはずですよね?
- 597 :名前が無い程度の能力:2008/11/30(日) 22:09:19 ID:M/LmSA0I0
- だから、また名前・・・
- 598 :名前が無い程度の能力:2008/11/30(日) 22:19:18 ID:pn4w1bg60
- まさか名前欄記入してるとかいう希少種か?
- 599 :名前が無い程度の能力:2008/11/30(日) 22:22:38 ID:GdW3KmZg0
- 名前欄なんてどうでもいいだろ
- 600 :名前が無い程度の能力:2008/11/30(日) 23:15:46 ID:1x1UbrOg0
- 明日から12月なわけだが・・・
お題も決まってないし12月はコンテスト中止か
そこで12月中はリレー小説みたいな感じで
お題をバトンにして弾幕作るくリレー弾幕やってみるってのはどうよ
「天井」→「金閣」→「派手」→「虹色」→「門番」みたいな
お題見て作れると思った人は次のお題考えて作成宣言
作成の時間制限2日とかルール決めとかないとうまくいきそうも無いけど
- 601 :596:2008/11/30(日) 23:54:48 ID:M/LmSA0I0
- とりあえず途中経過を晒してみます。初めて作ったオリジナルスペカです。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6950.lzh
発狂部分どうしよう・・・。
- 602 :ミレイ ◆orK.MILLAY:2008/12/01(月) 08:42:03 ID:bjrfiuAI0
- >>600
多忙とはいえ、お題候補の募集すらしなかったのはお詫び申し上げます。
事情を審査会場にも書いておき、テーマは「自由」(要するに何でもあり)としておきました。
そういえば弾幕風コンテストも1周年。初回のテーマも「自由」だったはず。
年末〜受験当日までは書き込みの余地すら無さそうなので、先に一つ伝えておくことがあります。
2009年1月度のテーマも「自由」とさせて頂きます。ご了承ください。
- 603 :前スレ330:2008/12/01(月) 11:08:46 ID:3TZcyREo0
- >>601
後に出現するレーザーに焼かれ続けたのは自分だけでい(ry
グルグル回ってるレーザーも色々と活用できればいいかも。
さておき
投下された3D背景を実装してみたくてついやってしまった。今は被弾してる。
ってことで>>562のスプリクトを一部改変使用してみました。なぜか美鈴風。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6954.zip
改変使用した部分は背景だけですが、基本的にスプリクトだけいじってるので、使ってないファイルが残ってる可能性が……(汗
あと、美鈴の弾幕スプリクトに関しては制作途中のものだったり。
前の書き込み>>580でIDに「IQ0」呼ばわりされてるけど、どうでも(ry
- 604 :名前が無い程度の能力:2008/12/01(月) 11:39:27 ID:a4JJRWQ20
- なんかコンテストに改変弾幕が投稿されてんだけど
テーマ自由だし別に気にしないでいいのかな
「問題があれば削除してください」って言われても今ミレイさん居ないから、
この場でとやかく言っても仕方ないんだろうけどね
- 605 :562:2008/12/01(月) 18:15:51 ID:vCfFqrA20
- ( ゚д゚)・・・
(゚д゚)!?
>>603
まさかあんな用途不明なステージスクリプト使ってくれる人が居るなんて思ってもみなかった現実
いやぁ〜、ありがたやありがたや
(被弾率激高)
3D背景なんて豪語してはいるものの、実際にはカメラをぐりぐり動かしてるだけだったり
私の頭ん中は「立体的に見える背景=3D背景」と思ってもらってていいかも
まだ勉強中
今>>562を更にややこしくした、ステージスクリプトを作成中
とりあえず前もって注意
・100人中97人は目を回します。
・97人中86人は吐き気を催す可能性があります。
・97人中11人はぶっ倒れる可能性があります。
・残りの3人は褌を締めています。
- 606 :名前が無い程度の能力:2008/12/01(月) 19:30:06 ID:pI0h112E0
- >>602
管理できないのは受験中だし仕方ないと思いますよ。っていうかやってるほうが問題w
受験、応援してますのでがんばってくださいね。
- 607 :名前が無い程度の能力:2008/12/01(月) 21:04:16 ID:Lkh5WWWA0
- >>603
やってくれる人がいてくれて本当に嬉しい・・・
確かに、あのレーザー回ってるだけで面白くありませんね。何か考えてみます。
- 608 :名前が無い程度の能力:2008/12/01(月) 21:13:19 ID:oMtGKdso0
- >>601
・高性能追尾レーザーが破壊できることに気が付くまでひどい目に逢い続けました。
こいつは壊せる、となんとなく見た目で分かるような工夫があると良かったかも。
(何もないところに突然現れるのではなく、ボスから発射されてから定位置に移動するみたいな)
・ボスの攻撃に緩急が無く、一定周期で全方位弾を出すだけなので
回復完了までの時間が少し冗長に感じてしまいます。
発狂以前にもう少し攻撃パターンを増やすか、回復時間を早めにするか、もうひと押しが欲しい感じでした。
>>605
背景スクロールに関してひとつだけツッコミを。
スクロール自体(変数move_bg_img_y)を@BackGround内で制御しているせいで
描画間隔を変更するとスクロール速度が落ちたり、ボムカットインなどの時間停止演出中も
何事もなかったようにスクロールし続けてしまいます。
- 609 :名前が無い程度の能力:2008/12/01(月) 21:33:50 ID:3tlb3EwU0
- >>607
使い魔からのロックオンレーザーのアイディアは良いとしても
「そこに使い魔がいる」とか「使い魔倒さないと危ない」
ってアピールが少し足りないように思えた。
使い魔のレーザー発動と同時に既に食らってるから
敵の行動を見てからのプレイヤーの構えの時間が皆無。
被弾した後もレーザーがロックかかりっぱなしだからリカバリにもやたら手間がかかるのもNG。
とりあえず色々使ってみようとした姿勢が見受けられたのは◎。
なんかズタボロに言った感があるけど応援してます(;´д`)がんばって
- 610 :名前が無い程度の能力:2008/12/01(月) 22:26:49 ID:oMtGKdso0
- >>603
いつものように
・今回も単発気味かな、と思っていたら予想以上に規模が大きくてびっくりしました。
戯言読んでいると病弱なあの人が高速回転しそうな気がしてなりません。
・プレイした感じ、全体的に体力が多い気がしました。
Exボスクラスの連続再生だとどうしても長丁場になるので、単発のノリでライフ設定されると
じわじわと集中力を削って来て後半が辛くなります。
・通常攻撃の難易度差に吹いた。個人的に事故リやすい1,2,7が苦手。
3と4は途中で逆回転入れるのも良かったかもしれません。
・スペルはライフでしか発狂が無いので、生存重視で行くなら発狂系スペルは
ノーショットの方が楽でした。GetTimer絡めて時間発狂も仕込んでおくと良いかと。
・セブンスヘヴンスあたりは座布団巫女でないとダメージを与えられるチャンスが少なく、
かなり難しく感じました。
・虹孔雀はボスの位置によっては画面下端付近で弾をばら撒いてきて心臓に悪いです。
・風林火山の計略は攻撃の順番次第ではひどい重なり方をして無理ゲーに近い状況に。
・彩霧は弾も避けもいろいろ細かすぎるかと。
きれいな背景が絡んでくると、小さくてカラフルな高密度弾幕で目が痛くなります。ました。
・地這八岐大蛇はダメージレートのif分岐にミスがあり、ライフ2500未満でボムを使うと
ボスが無敵になったままダメージを与えられなくなってしまいます。
・ボスの接触判定の詐欺っぷりに泣いた。
地這八岐大蛇のように体当たり攻撃が絡んできたりするので判定の設定はもっと甘めに……。
見えない何かに当たってミスするのはストレスが溜まります。
・ボム中に姿が消えますが、たまに点滅するように姿を見せることが。
門番に完全なボムバリアは無理なのだ、というネタかと思ったら普通にダメージ通らなくて、
ちょっとだけ残念な気分になったりならなかったり。
・全体的に弾幕のアイデアは面白いと思うので、バランス調整頑張って下さい。
- 611 :名前が無い程度の能力:2008/12/01(月) 23:19:14 ID:Lkh5WWWA0
- 感想とアドバイスありがとうございます。
>>608
確かにわかりづらい・・・。
一応使い魔はボスから出ているのですが、あの弾幕密度では見えませんね。
色々考えてみます。
>>ボスの攻撃に緩急が無く、一定周期で全方位弾を出すだけなので
>>回復完了までの時間が少し冗長に感じてしまいます。
この攻撃が出来上がったのが嬉しくて、そこまで考えている余裕がありませんでした。
やはり、段々と弾密度を上げていくのが定石でしょうか。
ちなみに、全回復で発狂させる予定です。
>>609
>>使い魔のレーザー発動と同時に既に食らってるから
>>敵の行動を見てからのプレイヤーの構えの時間が皆無。
一応予告線がしばらく出ています。
が、弾避けに集中してたらあんな細いもの見えない、ということでしょうか。
効果音つけた方がいいのかな・・・。
>>被弾した後もレーザーがロックかかりっぱなしだからリカバリにもやたら手間がかかるのもNG。
被弾時に使い魔破壊するようにするのを忘れていました。だって嬉しかっt(ry
製作途中ということで大目にみてやってください。
- 612 :名前が無い程度の能力:2008/12/01(月) 23:50:55 ID:3tlb3EwU0
- >>611
予告線自体はその後何が起こるかを伝えてる訳じゃないからね。
音を付けても「着弾時間0のレーザーの予告」にはなっていないのさ。
着弾時間0であるを予告するか、予告した攻撃を目視で回避できる様にするかで
大分バランス整ったりゲームっぽくなったりすると思うよ。
- 613 :名前が無い程度の能力:2008/12/01(月) 23:54:49 ID:oMtGKdso0
- >>611
>一応使い魔はボスから出ているのですが
話が微妙に噛み合わないので調べてみて謎が解けました。
使い魔画像の参照先が
let imgSprt = "script\spell_with_fam\img\spirit.png";
となっていますが、この「spell_with_fam」フォルダとそのフォルダの中の「img」フォルダが
こちらには存在していません。
そのため、使い魔画像が全く表示されない状態になっていたようです。
「script」フォルダ以下のどこに置いても正常動作するようにGetCurrentScriptDirectory関数を
絡めたパス表記にしておくと良いかと。
>段々と弾密度を上げていくのが定石でしょうか。
そうですね。
あとは発射タイミングにリズムをつけたり(3,3,7拍子とか)、
3−4−5−6WAYみたいに攻撃のWAY数を増やしながらだんだん発射間隔短くしたり、
1,2,3と牽制して次にびっくり弾幕を出したりとかいろいろ工夫が出来ると思います。
BGMと同期させたりするのも1つの手法ですね。
- 614 :名前が無い程度の能力:2008/12/02(火) 00:10:42 ID:avKfnlZ20
- 登場がいつも久しぶりな、「音楽と弾幕を同調させるシリーズ」作者です。
第4作目も無事に完成しましたので、上げさせていただきます。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6967.zip
考えてみると、いつも一方的な投稿ばかりで返信を全くしてない…。
この場を借りて、今まで遊んでくれた皆様、ありがとうございます。
これからもよろしくお願いします。
- 615 :562:2008/12/02(火) 01:01:20 ID:WZruJLEo0
- >>608
今回のうねうね〜に関しては、
背景のスクロールより、カメラアングルの操作分に重視して作ったので、
@BackGround{}内にスクロール管理を入れていました。
現在作成しているステージスクリプトでは、
スクロール・カメラアングル等の背景処理は、全て外部に出しています。
>>614
幾つか参考にしたい程の綺麗な弾幕が目に付きました。
羨ましい限りです。
えっ?同期?
スペック低いので可変描画でも結構きつかったですorz
- 616 :名前が無い程度の能力:2008/12/02(火) 13:25:50 ID:934qR62c0
- >>613
使い魔を絶対壊さなくてはならないようなスペルを作りたかったのですが、やっぱり難しいですね・・・。
ボツスペルにしないよう頑張ります。
>>614
あ゙
パス名の変え忘れ・・・確認不足でした。すみません。
弾の緩急は色々と試してみようと思います。
今年中に完成するのか、これ・・・。
- 617 :名前が無い程度の能力:2008/12/03(水) 00:19:34 ID:VU.P6zoY0
- あの…縦長の弾はまぁ東方っぽい当たり判定になるんですけど
横長の弾はさっきの縦長の弾と当たり判定が(恐らく)同じになるんですよ…
弾のグラ(両端)にあたっても堕ちず、弾のグラがないところ(中心よりちょっと下)に当たると堕ちる
因みに横長の弾は縦長の弾をただ単に90度回転しただけのものです
弾幕風ヘルプを見ても円状にしかできないみたいですし…
横長の当たり判定とかにってできないんですか?
- 618 :名前が無い程度の能力:2008/12/03(水) 01:41:12 ID:EhHMk3EQ0
- 弾幕風wikiのTipsによると
>「矩形の長い方の辺/1.5-1.5(最低3)」を直径とする円が当たり判定になる。
>矩形の縦と横の長さに2倍以上の差がある場合は、この当たり判定を弾の向きに合わせて複数個並べる。
>弾画像をレーザーとして使った場合は、当たり判定は直線になる。
だそうだが、弾画像の矩形設定はちゃんと画像に合わせてる?
弾スクリプトで直接当たり判定を指定すれば最悪なんとかなる。少し重いけど
- 619 :名前が無い程度の能力:2008/12/03(水) 18:56:59 ID:VU.P6zoY0
- 矩形設定って(0,0,1,1)的なものですよね?
ちゃんとなってるんだけどなぁ…
少し弄ってみてできなかったら弾スクリプト使ってみますね
- 620 :名前が無い程度の能力:2008/12/03(水) 21:34:33 ID:Rlc.hZI.0
- >>614
第三作目は?
- 621 :名前が無い程度の能力:2008/12/03(水) 21:36:46 ID:VU.P6zoY0
- 第三作目は原曲を使ってるから配布できないとか聞きましたけど…
- 622 :名前が無い程度の能力:2008/12/03(水) 22:20:42 ID:Rlc.hZI.0
- せっかくテリブルの参考に出来ると思ったのに
- 623 :616:2008/12/03(水) 22:26:03 ID:KHDac3wg0
- すみません>>612-613の間違いです
- 624 :名前が無い程度の能力:2008/12/03(水) 22:38:52 ID:zpBwvOeg0
- >>621
BGMを同梱しなければおk
- 625 :名前が無い程度の能力:2008/12/04(木) 00:04:06 ID:kQKaxnE60
- >>624
同感
そういえば他の音楽使えばおkとか思ったけど
その場合作りなおさないといけないのね…
- 626 :名前が無い程度の能力:2008/12/04(木) 01:28:36 ID:rxoAqlMc0
- >>620-625
BGMありきの弾幕だから無しはアレかなぁ、と置くのを避けてました。
でも、必要な方がいらっしゃるようなので置きます。
ttp://coolier.sytes.net:8080/th_up3/file/th3_6995.zip
ちなみにテリブルは>>592さんの考え方と同じ方法です。
ただ、再度動き出した時の挙動は再現できてません…。
>>625
もしかしたらアレンジを発掘して、3.5とかリメイクするかも。
余裕があれば、ですが。
- 627 :名前が無い程度の能力:2008/12/04(木) 20:31:01 ID:MiziBnFc0
- すみません…
弾幕風いじり始めたばかりで作成講座とにらめっこしながらまずは
「直線ワインダーを十字形にひたすら撃ち続ける」
という単純な動作をさせようとしたら、
「script_enemy_main 内で{...}が対応していません」
と言うエラーを吐きました…。
よくある原因とかあるんでしょうか?
必要ならテキスト晒します。
- 628 :名前が無い程度の能力:2008/12/04(木) 20:54:30 ID:kk5PTAy60
- >>627
文字通り"{"の数と"}"の数が対応していないってのが疑わしい。
あと、";"をつけ忘れた時もこのエラーメッセージ出る。
とりあえずこの2点をチェックしてみるといい。
- 629 :名前が無い程度の能力:2008/12/04(木) 22:37:28 ID:MiziBnFc0
- >>628
ありがとうございました。
そこら辺よく見ていじり直してみたらエラーは直って弾も出ました
ですが、今度は敵グラフィックの部分が白く切り取られたような状態に…
グラフィックを読み込む部分はちゃんと入力したはずですが、何が怪しいでしょうか?
- 630 :名前が無い程度の能力:2008/12/04(木) 22:51:43 ID:kk5PTAy60
- >>629
読み込む画像の背景色の透過率設定にミスがあるとかかなあ。
今度は現物見ないと何とも言えない。
- 631 :名前が無い程度の能力:2008/12/04(木) 23:03:51 ID:MiziBnFc0
- >>630
>>627の動作を実行させるために組んだスクリプト
ExRumiaはデフォ画像
#東方弾幕風
#Title[Test]
#Text[Test]
#ScriptVersion[2]
script_enemy_main {
@Initialize {
SetX(GetCenterX);
SetY(GetClipMinY + 120);
SetLife(2000);
LoadGraphic("script\img\ExRumia.png");
SetTexture("script\img\ExRumia.png");
SetGraphicRect(0, 0, 63, 63);
}
@MainLoop {
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
CreateShot01(GetX, GetY, 4, 0, WHITE31, 60);
CreateShot01(GetX, GetY, 4, 90, WHITE31, 60);
CreateShot01(GetX, GetY, 4, 180, WHITE31, 60);
CreateShot01(GetX, GetY, 4, -90, WHITE31, 60);
}
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic("script\img\ExRumia.png");
}
}
- 632 :名前が無い程度の能力:2008/12/04(木) 23:04:25 ID:B6R2o6Sw0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_7008.zip
引用加工ドット画像です。
今回はお空の特大弾の画像が投下されていたのでお空と椛です。
今までのドット画像の修正したものも同梱しています。
サンプル弾幕を付けてみました。
こっちでスレのお空特大弾の画像とスクリプトの一部を引用させていただきました。
- 633 :名前が無い程度の能力:2008/12/04(木) 23:09:08 ID:kk5PTAy60
- >>631
@MainLoopの所、"}"がひとつ多い。
CreateShot01(GetX, GetY, 4, -90, WHITE31, 60);
}
}←これ
そのせいでscript_enemy_main が@MainLoopまでで閉じてしまっている。
@DrawLoopがscript_enemy_mainの外側にあるから実行されないのが原因。
- 634 :名前が無い程度の能力:2008/12/04(木) 23:21:03 ID:VrhJhTfw0
- >>626わざわざありがとうございます
- 635 :名前が無い程度の能力:2008/12/04(木) 23:29:12 ID:MiziBnFc0
- >>633
原因は理解できましたが…書き変えても直りません。
- 636 :名前が無い程度の能力:2008/12/04(木) 23:41:50 ID:DsPGUkG60
- >>631をそのままコピーして「}」ひとつ削ったら動くけどなー
@Finalizeの後の「}」まで減らしてはなかろうね
- 637 :名前が無い程度の能力:2008/12/04(木) 23:42:01 ID:kk5PTAy60
- >>635
動かしてみて分かった。
原因はCreateShot01の一番最後の引数の遅延時間設定。
1発あたり60フレーム=1秒の遅延時間のせいだわ。
CreateShot01(GetX, GetY, 4, 0, WHITE31, 0);
CreateShot01(GetX, GetY, 4, 90, WHITE31, 0);
CreateShot01(GetX, GetY, 4, 180, WHITE31, 0);
CreateShot01(GetX, GetY, 4, -90, WHITE31, 0);
で直ると思う。
- 638 :名前が無い程度の能力:2008/12/04(木) 23:43:27 ID:jD2zIiJg0
- ここでたまに行われるこういう添削が微笑ましい
俺はうまいアドバイスできないが頑張れ超頑張れ
- 639 :名前が無い程度の能力:2008/12/04(木) 23:48:05 ID:DsPGUkG60
- あ、レスちゃんと読まずに書き込んじゃった
そこはもう直ってたのね
- 640 :名前が無い程度の能力:2008/12/05(金) 00:13:15 ID:h/txqUcQ0
- >>637
遅延を0にしたらちゃんと描画されました
ありがとうございました。
- 641 :名前が無い程度の能力:2008/12/05(金) 00:17:54 ID:2XEa2eGc0
- みんなテキストエディタって何使ってるの?メモ帳?
メモ帳だと白黒で見辛いんだが…
- 642 :名前が無い程度の能力:2008/12/05(金) 01:22:10 ID:cElPPdXs0
- Notepad++
- 643 :名前が無い程度の能力:2008/12/05(金) 02:07:21 ID:2XEa2eGc0
- ぐぐってみる
- 644 :名前が無い程度の能力:2008/12/05(金) 03:32:13 ID:3uOa2RhE0
- フリーでオススメならTerapad。
CかJavaのキーワードファイルを書き換えれば丁度弾幕風向けのキーワード強調機能になるよ。
自分はEmEditor使ってるけどフリーじゃないのがそんなにオススメできない。
- 645 :名前が無い程度の能力:2008/12/05(金) 07:52:23 ID:j/MKGBxw0
- 俺も普段はTerapad。ただ複数のファイルを同時に修正するときはタブ切り替え型のJmEdit2かなぁ。
- 646 :名前が無い程度の能力:2008/12/05(金) 18:48:46 ID:3uOa2RhE0
- >>638
質問に答える事で自分の身になる事もあるから答える側も無益ではないしね。
エスパー呼ぶ必要のある質問じゃなければ!
- 647 :名前が無い程度の能力:2008/12/05(金) 18:49:09 ID:h/txqUcQ0
- 皆さんありがとうございました
温かいアドバイスのおかげで弾幕らしきものが完成しました
よかったら見てやってください><
ttp://momijitocirno.to.zmx.jp/remilia/uploader/src/remy0072.txt
- 648 :名前が無い程度の能力:2008/12/05(金) 19:23:41 ID:3uOa2RhE0
- >>647
いいぞベイベー、弾幕風初心者の弾幕は弾垂れ流しとif文カウンタから始まるんだ。
次はfunctionでも使って色々垂れ流して見るといいと思うよ
- 649 :名前が無い程度の能力:2008/12/05(金) 21:42:53 ID:MFfyxTK.0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_7015.lzh
ステージ製作の息抜きに自機うつほ作ってみたお
自機はあんまりいじったことないからワケ分からんね
改変自由で素材も全部差し上げます 塗り絵でもして楽しんでくださいな
- 650 :名前が無い程度の能力:2008/12/05(金) 23:36:45 ID:qWafkaNIO
- >>649 うにゅ!
ありがとう
- 651 :名前が無い程度の能力:2008/12/06(土) 00:18:10 ID:m.2BQSGY0
- メモ帳が個人的に使いやすい。
どうでもいい機能が無いから。
- 652 :名前が無い程度の能力:2008/12/06(土) 05:06:20 ID:c4X1hEDc0
- メモ帳以外使ったことねえ
キーワード強調って便利なのかな
- 653 :名前が無い程度の能力:2008/12/06(土) 05:10:03 ID:QWbQLT1k0
- >>649
OK俺と同じ轍踏んでる。自機作ろうと思ったら必ず通る道だ。
システム側が「死んでるからショット生成できないよ」って規制掛けてる時間帯も、
メインループの処理はチェックされてるのぜ。
弾管制のどっかで!OnMissed検出しとかないと、死後もショット発射のラップ音が鳴るよ。
- 654 :名前が無い程度の能力:2008/12/06(土) 08:43:12 ID:/ef3PdiU0
- >>652
一度使ってみるといいよ。便利すぎて戻れなくなる
- 655 :名前が無い程度の能力:2008/12/06(土) 11:40:48 ID:uFctDrqY0
- terapad落としたけどkwdファイルどこにも入ってない件
- 656 :名前が無い程度の能力:2008/12/06(土) 12:42:23 ID:CadN8zf60
- >>655
表示>オプション>C/C++ キーワード(or Java キーワード)>キーワード編集
と押してくとキーワードファイル編集状態になる。
一度編集状態にするとterapadフォルダのusrフォルダにユーザー名のフォルダが生成されて
その中に(言語名).kwdが追加されてる。
- 657 :名前が無い程度の能力:2008/12/06(土) 12:44:35 ID:GIo6gdrQ0
- 最近気付いたけど、ボムカットインの時間停止は50フレームっぽい気がする。
script_spell TestSpell
{
@Initialize{run;}
@MainLoop{yield;}
@Finalize{}
task run
{
loop(X){yield;}
loop(120)
{
SetIntersectionCircle(GetCenterX, GetCenterY, 512, 1, true);
yield;
}
End;
}
}
こんなので調べてみたけど、
カットイン無し ダメージ120
X=0 ダメージ120
X=48 ダメージ118
X=49 ダメージ119
X=50 ダメージ120
になった。
- 658 :名前が無い程度の能力:2008/12/06(土) 12:45:59 ID:uFctDrqY0
- >>656
おお、できた thx
- 659 :名前が無い程度の能力:2008/12/06(土) 13:18:21 ID:psu/ZcT60
- EmEditorのフリー版にWikiにあった定義ファイル入れて使ってる
- 660 :名前が無い程度の能力:2008/12/06(土) 14:02:00 ID:/Fjt4WHg0
- >>653
なるほどそういうことが・・・教えてくれてサンクス!
てっきり仕様だと思ってた件。これだから自機は(♯^ω^)
修正ファイル ttp://coolier.sytes.net:8080/th_up3/file/th3_7028.lzh
- 661 :名前が無い程度の能力:2008/12/06(土) 14:14:52 ID:ZXSRphwM0
- 今えーりんの壺中の天地をつくっているのですが
本家みたいに使い魔を射出させプレイヤーの周りに並ばせ
少しずつ遠くへ行かせたいのですがどうすれば良いのでしょうか
- 662 :名前が無い程度の能力:2008/12/06(土) 17:27:45 ID:tME5V6co0
- 設置は
使い魔を設置するx, y座標をそれぞれ
loop(使い魔の数){
GetPlayerX + 設置円の半径 * cos(angle)→x座標
GetPlayerY + 設置円の半径 * sin(angle)→y座標
angle += 360 / 使い魔の数;
}
で求めてSetMovePosition系で動かせばいい
遠くへは設置円の半径を毎フレーム大きくしながらSetX, Yすればいい
- 663 :名前が無い程度の能力:2008/12/06(土) 18:10:42 ID:ZXSRphwM0
- >>662
すみませんもうちょっと詳しく教えてください
- 664 :名前が無い程度の能力:2008/12/06(土) 18:13:36 ID:XW7yPTZc0
- これ以上何を詳しくしろっていうんだ
- 665 :名前が無い程度の能力:2008/12/06(土) 18:15:09 ID:Mry76j3Q0
- 誰かスクリプト組んで渡してくださいってことだろ
- 666 :名前が無い程度の能力:2008/12/06(土) 18:26:22 ID:K0VWMGyw0
- 荒れるから棘を感じる言葉は使わないようにしようぜ
>>663
チュートリアルっていうのは、読むものじゃなくてやってみるもの
それを踏まえた上で弾幕風講座(↓)を見に行ってきな
ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/products/thdnhlec/
とりあえず第23回くらいまで進めるんだ
途中でわかんなかったら聞いていい
ただ、自分で考えないで他人に頼ろうとしてるんじゃ成長しない
- 667 :名前が無い程度の能力:2008/12/06(土) 18:31:45 ID:jQyGZc3Q0
- 質問です
地霊殿の、1面の道中にDNAみたいな感じの弾を打ってくる敵いますよね?
あれの実装の仕方がよく分からないので、ヒントでよろしいので、教えていただきたいです
- 668 :名前が無い程度の能力:2008/12/06(土) 18:45:09 ID:psu/ZcT60
- 自機狙いをsinでブラせばいいんじゃない?
- 669 :名前が無い程度の能力:2008/12/06(土) 18:56:13 ID:O54ETiLw0
- >>667
自機狙いの成分と、自機狙いに対して垂直方向の成分に分解して考えて、
あとは後者のほうを単振動させてやればできる。
弾の角度は…断言できないけど、弾の軌道がsinだからcosで制御すればいいと思う。たぶん。
- 670 :名前が無い程度の能力:2008/12/06(土) 18:57:34 ID:dv3otVls0
- もうちょっと考えてからにしてほしいよね (ぼそ・・・
- 671 :名前が無い程度の能力:2008/12/06(土) 20:07:06 ID:uRqJgqmU0
- 少しまともな弾幕になってきた気がします
ttp://momijitocirno.to.zmx.jp/remilia/uploader/count.cgi?remy0075.zip
…ただ、まだ二種類以上の弾を同時に撃てないという問題ががが
…あぁ…次は関数だ…。
- 672 :名前が無い程度の能力:2008/12/06(土) 20:27:27 ID:Fk4HyVVM0
- >>667
CreateShotAでも一応それっぽく作れるよ
角速度を+a、-2a、+2a、-2a…で一定時間毎に切り替えればいい
- 673 :名前が無い程度の能力:2008/12/06(土) 20:42:18 ID:CadN8zf60
- >>671
流石に今回も1箇所からNWay垂れ流しのみではちょっと味気ない。
同時に弾を撃ちたいのならtaskを覚えると良。
taskに関しては講座とかの説明軽く読んだ上で弾幕風スレ5スレ目の
>>256辺りからの流れ読むとイメージ掴みやすいよ。
…多分ね!
- 674 :名前が無い程度の能力:2008/12/06(土) 22:53:59 ID:tz/YCuMY0
- >>671
単純な弾幕でも敵を移動させるだけでも割と変化が出るのでお試しあれ。紅白幻想蝶の安地もそれで潰せますよ(w
ところでプログラミング経験ある人だったりしますか? あれば関数は楽にクリアできそうだけど……。
- 675 :名前が無い程度の能力:2008/12/07(日) 00:35:35 ID:Xscf9Nj60
- オブジェクトってCの構造体みたいに設定値コピーできないのかな?
ためしに=で結んでみたらエイリアスになるだけだったみたい。
- 676 :名前が無い程度の能力:2008/12/07(日) 00:58:44 ID:KcDEqesI0
- >>675
弾幕風のオブジェクトは構造体よりc++とかのクラスに近いっぽいと思う。
で、オブジェクト内の変数がカプセル化(だったっけ?)されてるから直接は触れないと思われるんだけど、何と何を=で結んでみたのかkwsk
- 677 :名前が無い程度の能力:2008/12/07(日) 01:26:02 ID:.Uq1CvW.0
- wikiに最近投下された素材関係をまとめるページを作ってみました。
これ以外にスレに投下された画像関係の素材があったら追加するか教えていただけると幸いです。
- 678 :562:2008/12/07(日) 09:30:27 ID:k6vWsg9s0
- やっとこさステージスクリプト(1ステージ)が出来たのでアップ
ttp://coolier.sytes.net:8080/th_up3/file/th3_7036.zip
修正箇所多いので、そこら辺は大目に見てください。
疲れたorz
- 679 :名前が無い程度の能力:2008/12/07(日) 11:47:36 ID:Xscf9Nj60
- >>676
確かに専用のメンバ関数でしか操作できないな。
俺がやってみたのはエフェクトオブジェクト同士。関数に渡してみても同じだった。
種類の違うオブジェクト同士ならどうなるんだろ。後でやってみよう。
>>677
GJです
ついでに使用可能なアレンジ曲も(ry
- 680 :名前が無い程度の能力:2008/12/07(日) 14:41:57 ID:WsT4Irl.0
- 楕円軌道を時計回りに傾けていくにはどうすればいいのですか?
- 681 :名前が無い程度の能力:2008/12/07(日) 16:26:33 ID:Xscf9Nj60
- 楕円軌道は作れるってことだよね。
それなら一周したときにちょっと角度を足すとかでできないかな。
- 682 :ミレイ ◆orK.MILLAY:2008/12/07(日) 16:41:28 ID:mZX3glRg0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_7039.txt
こういった弾幕に使用するのでしょうか。
- 683 :名前が無い程度の能力:2008/12/08(月) 04:56:50 ID:hDbLAv6g0
- レーザーでのびーるアームみたいの作ろうと思って組んでみたら
レーザーのはじっこにみょんの半霊みたいのがくっついてて
「なんだこれスクリプトミスったか?」とか思ってこの半霊を消そうと数時間格闘してました。
これレーザー組むと必ず付いてくるのな…。いらんよこれ…。
- 684 :名前が無い程度の能力:2008/12/08(月) 07:33:50 ID:vPjVrPMQ0
- >>683
ObjLaser_SetSource
- 685 :名前が無い程度の能力:2008/12/08(月) 07:56:29 ID:1uSt2tN.0
- >>683
CreateLaser01でおk
- 686 :名前が無い程度の能力:2008/12/08(月) 10:59:31 ID:bOnsgafo0
- >>683
Obj弾なら ObjLaser_SetSource
CreateLaser01なら 遅延時間を0にする
- 687 :名前が無い程度の能力:2008/12/08(月) 14:00:15 ID:hDbLAv6g0
- >>684-686
ひたすらCreateLaserAいじってた…orz
>ObjLaserSetSource
これが光源って奴だったのか…意味も分からずtrue指定してた…
CreateもObjも試したつもりだったけど01を見逃してただけだったとは…
>射出型レーザーを発射する。
って書いてあんじゃん。俺アホスorz
CreateLaser01から試してみます。ありがとうございました。
- 688 :名前が無い程度の能力:2008/12/08(月) 23:21:06 ID:XlULE5NA0
- 敵の出る順番とか時間とかはどうやって指定するのでしょうか?
弾幕風を活用してみたいのですがどうにもそこのところがわかりません。
- 689 :名前が無い程度の能力:2008/12/08(月) 23:25:38 ID:vPjVrPMQ0
- >>688
弾の出る順番や時間の指定と殆ど変わらない。
カウンタ変数式やtaskで制御。
- 690 :名前が無い程度の能力:2008/12/08(月) 23:26:13 ID:aeX5FOYg0
- >>688
基本は弾を撃つ時と同じ。カウンタとかマイクロスレッドを活用して
ステージスクリプトで敵を呼び出す関数を実行するだけ。
- 691 :名前が無い程度の能力:2008/12/08(月) 23:40:12 ID:XlULE5NA0
- ステージスクリプトを使うのですね、わかりました。
後お聞きしたいことがあるのですが、パワーシステムの変更とタメ撃ちは弾幕風ではできるのでしょうか?
ボーダーダウン形式を取り入れてみたいのですが難しいのかな…
- 692 :名前が無い程度の能力:2008/12/08(月) 23:49:57 ID:aeX5FOYg0
- >>691
可能。過去にそれらを取り入れた自機が作られたことがある。
パワーシステム変更
ttp://coolier.sytes.net:8080/th_up2/src/th2_5785.zip
ttp://coolier.sytes.net:8080/th_up2/src/th2_4220.lzh
共通データで攻撃レベルを制御する、というのが基本みたい。
タメ撃ち
ttp://coolier.sytes.net:8080/th_up2/src/th2_2372.lzh
ttp://coolier.sytes.net:8080/th_up2/src/th2_7072.lzh
あたりが参考になるかもしれない。
ボーダーダウン形式は戻り復活の実装が難しいと思う。
それ以外は多分実現可能じゃないかな。
- 693 :名前が無い程度の能力:2008/12/08(月) 23:50:00 ID:vPjVrPMQ0
- >>691
自機自作すれば可能。
その際パワーアップに関するPアイテムのシステムや
チャージ受付・開放の処理は全て自分で記述が必要。
Pアイテムのでパワーアップは主に夢終劇で採用されてる。
タメ撃ちに関しては様々な自機スクリプトで採用されてるので
wiki漁ると手頃なサンプル見つかると思うよ。
ただ、いずれにしても慣れないうちは難しい芸当。
- 694 :名前が無い程度の能力:2008/12/08(月) 23:57:38 ID:XlULE5NA0
- ありがとうございます。がんばって作ってみます。
- 695 :前スレ330:2008/12/09(火) 00:31:04 ID:hAD/stL.0
- また遅レス……しかもこんだけ間が空いて投下物もないとか……自分最低だ…orz
>>610
プレイありがとうございますー。
ボムバリアは変数使ってスプリクトで処理してたので、所々で別のスプリクトが割り込んでしまったのが原因のようです。
他にも直す部分が多い……頑張ります。
>>649
何故か解凍時にエラーが起きて一部のファイルが解凍されない……
自身の使ってる解凍ソフトがマズいのか……?
とりあえず、別の解凍ソフトで試してみます。
>>678
畳に思わず噴いてしまった……。ちなみに道中は脳内で廃獄ララバイが再生されたのは内緒です。
制作がんばーですヨ。
- 696 :562:2008/12/09(火) 04:09:21 ID:N5dXTBkM0
- パワーアップシステムとチャージショットシステムを実装(?)した単発スクリプト
サンプル的な意味で
ttp://coolier.sytes.net:8080/th_up3/file/th3_7055.zip
自機のスペル(ボム)って、どうやれば魅せる物が作れるんだorz
>>695
プレイありがとですよ
道中に「廃獄ララバイ〜東方地霊殿より〜」を推奨しようとしてたのは内緒
修正箇所多すぎるのが難点だ・・・
ん?「製作がんばー」って完成させないといけないフラグなのかな?
気力が足りすぎません(*ノノ)
- 697 :名前が無い程度の能力:2008/12/09(火) 08:12:46 ID:gZ8l9B8Q0
- >>691
パワーアップシステムはサンプル自機と、簡単に作れるようにフレームワークを作ってた人がいたよ
確かWikiの自機スクリプトにあったと思う
- 698 :名前が無い程度の能力:2008/12/09(火) 19:17:34 ID:10jXw4Zw0
- script_enemy SMahojin{
let col;
let colx;
let coly;
SetLife(100);
SetDamageRate(0,0);
@Initialize{
col=WHITE02;colx=0;coly=0;
LoadGraphic(GetCurrentScriptDirectory~"img\magic.png");
SetTexture(GetCurrentScriptDirectory~"img\magic.png");
SetGraphicRect(0+colx, 0+coly, 64+colx, 64+coly);
MMove;
}
@MainLoop{
if(GetY>400){
VanishEnemy;
}
yield;
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic(GetCurrentScriptDirectory~"img\magic.png");
}
//魔方陣の挙動
task MMove{
SetSpeed(2);
SetAngle(atan2(GetPlayerY-GetY,GetPlayerX-GetX));
}
}
組んだスクリプトをシンプル化したものなんですが、
Y座標一定以上で消滅する魔方陣を作り続けたいのですが、
丁度その位置に魔方陣が来るとエラーも吐かずに強制終了します。
「 @MainLoop{ if(GetY>400){ 」にある400の数字を調整して検証した結果、
どうやら魔方陣が二つ以上作られていると何らかのエラーを起こして終了するのだろうというところまでは分かったのですが、
それでどうすればいいのか、というところで詰まりました。
VanishEnemy;をコメントアウトすると正常動作しますが魔方陣がいつまでも消えないせいかどんどん重くなります。
解決策をどなたか教えて下さい。
- 699 :名前が無い程度の能力:2008/12/09(火) 19:27:33 ID:5lZm/Xvg0
- @Finalize {
DeleteGraphic(GetCurrentScriptDirectory~"img\magic.png");
}
たぶんコレが原因だと思う
2個作って、2個目にも同じ画像使ってるのにDeleteしたらエラー出るんじゃない
- 700 :名前が無い程度の能力:2008/12/09(火) 19:33:55 ID:10jXw4Zw0
- >>699
直りました!
親敵のFinalizeまで消さないことにしました。
ありがとうございました。
- 701 :名前が無い程度の能力:2008/12/09(火) 20:28:00 ID:rShiul6Y0
- また壁にぶち当たりました…
nway弾の挙動が他の弾に干渉して困っています。
ttp://momijitocirno.to.zmx.jp/remilia/uploader/count.cgi?remy0080.zip
とりあえず試験的に作ってみた弾幕と現在作っている弾幕
(某スペルの雰囲気だけコピー)置いておきます。
- 702 :名前が無い程度の能力:2008/12/09(火) 20:37:20 ID:fRfUiS/k0
- >>701
>中弾を回転に干渉させずにそれらしく撃つ方法はないでしょうか?
どう困ってるかよく判らなかったけど角度に関してお困りなら
・atan2とかGetAngleToPlayerで狙う
・角度制御に使う変数増やしてnwayの回転とは別に制御する
・ランダム方向に撃つ
とかお好みで入れればいいんじゃないかな。
- 703 :名前が無い程度の能力:2008/12/09(火) 20:53:30 ID:Sm8CQpNk0
- >>701
スクリプト見た限りではどこにも異常は見受けられませんでした。
もし異常のある部分を削除してしまったのでしたら、その異常が残った状態のものを上げてくれると助かります。
単に自分が見落としていただけならごめんなさい(´・ω・`)
- 704 :名前が無い程度の能力:2008/12/09(火) 21:09:56 ID:RuKIJGFc0
- >>701
何をどうしたいのかもう少し分かりやすく説明してくれると助かる。
その書き込みじゃあさっぱり分からない。
発射角度の変数名angleBaseが同じだから31番の弾も32番の弾も一緒に回転するのは当然。
どちらかの弾をtest5のように固定させて撃ちたいなら発射角度の変数に違うものを用意して使えばいい。
- 705 :名前が無い程度の能力:2008/12/09(火) 21:10:41 ID:10jXw4Zw0
- >>701
>中弾
各色31系(苦無)と32系(ナイフ)しか定義されてないようですが…
中弾とは何のことでしょう?
- 706 :名前が無い程度の能力:2008/12/09(火) 21:14:39 ID:rhH4.bm.0
- >>701
とりあえず新しい関数を増やして中弾の角度制御にその関数を使えば弾は出ます。
それぞれの弾の発射感覚を別々にしたいなら==の代わりに%8を使ってframe=0を消せば
それっぽくなるかも。
- 707 :名前が無い程度の能力:2008/12/09(火) 21:30:43 ID:rShiul6Y0
- 確かに、問題のある部分を切った状態で上げるのは分かり辛いですね…
すみませんでした。
>>702
方法論としてはいろいろ考えられそうですね
ありがとうございました。
>>703
すみません、切ってしまいました。
>>704
別の名前の変数を用意すれば固定させたり別の動きができるんですね。
初歩的なミスでした…
>>705
test5のスクリプトにRED31とは独立して動くRED02を追加しようと思っています。
- 708 :名前が無い程度の能力:2008/12/10(水) 00:31:50 ID:/TpPEEpI0
- #東方弾幕風
#Title[test5]
#Text[test5]
#ScriptVersion[2]
script_enemy_main {
let imgBoss = "script\img\ExRumia.png";
let angleBase = 0;
let angle = 0;
let frame = 0;
@Initialize {
CutIn(YOUMU,"", "", 0, 0, 0, 0);
SetX(GetCenterX);
SetY(GetClipMinY + 200);
SetLife(2000);
SetTimer(75);
SetScore(3000000);
LoadGraphic(imgBoss);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
}
function nway(let dir, let way, let span, let color) {
let angle = dir - (way - 1) / 2 * span;
loop(way) {
CreateShot01(GetX, GetY, 2, angle, color, 0);
angle += span;
}
}
function AllRoundShot(Speed, BaseDir, WayNum, BulletType, Delay) {
ascent( let i in 0..WayNum ) {
CreateShot01(GetX, GetY, Speed, BaseDir+(360/WayNum*i), BulletType, Delay);
}
}
@MainLoop {
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
frame++;
if(frame == 8) {
nway(angle + 30, 16, 3, RED31);
nway(angle + 150, 16, 3, RED31);
nway(angle - 90, 16, 3, RED31);
angle += 0;
frame = 0;
}
if(frame == 12) {
AllRoundShot
angleBase += 0;
frame = 0;
}
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic(imgBoss);
}
}
全方位弾を撃つ関数を取り入れてみましたが、どう弄っても
「AllRoundShotの引数が違う」旨のエラーが出ます。
どうすれば良いでしょうか。
- 709 :名前が無い程度の能力:2008/12/10(水) 00:45:50 ID:AKUUmQXY0
- >>708
いや、どうすればも何も文面通りだぜ
AllRoundShotに引数が渡されてない。書き忘れ?
if(frame == 12) {
AllRoundShot ←ここ
angleBase += 0;
frame = 0;
}
- 710 :前スレ330:2008/12/10(水) 11:07:34 ID:qZi8yX960
- >>649
解凍ソフトを変えたら無事解凍できました。
自機グラフィックのデカさに思わず噴いて、ボムで更に噴いた。
お空らしさ(核)全開の良い自機でした。
……と、そんなこんなで自機置いときます。RKS風
ttp://coolier.sytes.net:8080/th_up3/file/th3_7069.zip
- 711 :名前が無い程度の能力:2008/12/10(水) 15:46:06 ID:/TpPEEpI0
- >>709
ありがとうございました。
script_enemy_main {
let imgBoss = "script\img\ExRumia.png";
let angleBase = 0;
let angle = 0;
let frame = 0;
@Initialize {
CutIn(YOUMU,"", "", 0, 0, 0, 0);
SetX(GetCenterX);
SetY(GetClipMinY + 200);
SetLife(2000);
SetTimer(75);
SetScore(3000000);
LoadGraphic(imgBoss);
SetTexture(imgBoss);
SetGraphicRect(0, 0, 63, 63);
}
function nway(let dir, let way, let span, let color) {
let angle = dir - (way - 1) / 2 * span;
loop(way) {
CreateShot01(GetX, GetY, 2, angle, color, 0);
angle += span;
}
}
function AllRoundShot(let Speed, let BaseDir, let WayNum, let BulletType, let Delay) {
ascent( let i in 0..WayNum ) {
CreateShot01(GetX, GetY, Speed, BaseDir+(360/WayNum*i), BulletType, Delay);
}
}
@MainLoop {
SetCollisionA(GetX, GetY, 24);
SetCollisionB(GetX, GetY, 24);
frame++;
if(frame == 8) {
nway(angle + 30, 16, 3, RED31);
nway(angle + 150, 16, 3, RED31);
nway(angle - 90, 16, 3, RED31);
angle += 0;
frame = 0;
}
if(frame == 12) {
AllRoundShot(2, angleBase + 10, 16, RED02, 10)
}
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
}
@Finalize {
DeleteGraphic(imgBoss);
}
}
関数や変数を弄りながらここまで組みましたが、全方位RED02が出ません。
何方かアドバイス下さい…
- 712 :名前が無い程度の能力:2008/12/10(水) 15:49:20 ID:pXd7nI460
- frameが0→8→0→8→……になってる
frame = 0 を if(frame == 12) の方に移せばいいはず
あとそろそろtask使おうぜtask
task使えるようになればグンと成長する
- 713 :名前が無い程度の能力:2008/12/10(水) 18:39:53 ID:HiFZJzkMO
- 今まで大量のスクリプトをif(frame % n == 0){Shot;}で書いてきた俺が通りますよー
べっべつにtaskを使えないわけじゃない
- 714 :名前が無い程度の能力:2008/12/10(水) 19:07:26 ID:.2y/g6a20
- >>711
タスクを覚えるのもいいけど、今のスクリプトを改造するなら706や713の方法の方が手っ取り早いかも。
ちなみに「%」は割り算の余りを求める演算子。
例:if(frame%8==0){} ←frameの8で割った余りが0なら{}内を実行
- 715 :名前が無い程度の能力:2008/12/10(水) 19:19:01 ID:mDE.jdKw0
- ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/products/thdnhlec/010.html
の
function offsetX(radius, angle) {
return radius * cos(angle);
}
function offsetY(radius, angle) {
return radius * sin(angle);
}
の役割がいまいちよくわからないんだが、一体何がおきているんだ?
>今までは敵の位置から弾を出していましたが、敵の周りから弾を出すようにしてみましょう
これも肉眼じゃ敵から弾が出てるようにしか見えないんだが…
初心者ですまん
- 716 :名前が無い程度の能力:2008/12/10(水) 19:37:39 ID:oG8XPNYM0
- >>715
こんな感じのイメージで座標の制御に使う。
function offsetX(半径, 角度) {
半径 × コサイン(角度)の値を返す
}
function offsetY(半径, 角度) {
半径 × サイン(角度)の値を返す
}
/*sample*/
task main
{
let radius=100;
let angle=0;
loop
{
ascent(i in 0..2)
{
CreateShot01(GetX+offsetX(radius,angle+i*180),GetY+offsetY(radius,angle+i*180),2,angle+i*180,RED01,0);
}
angle+=13;
yield;
}
}
/*sample*/
- 717 :名前が無い程度の能力:2008/12/10(水) 19:38:35 ID:jdtAeedY0
- 関数と三角関数のどっちがわからないのかがわからないけど
前者なら多くのプログラミング言語に付いてる機能で、計算とかその他もろもろを別の場所に書く事ができる機能。
もっと簡単な例として
function sum(a, b){
return a+b;
}
とどこかに書いておいて別のところで
c = sum(2, 3);
とやればcに5が入る。
sumは受け取った2と3をaとbに当てはめて、returnの後に書いた a+b = 2+3 = 5 を「戻り値」として返してくれる。
三角関数(cosとsin)のほうの話ならこのスレの上のほうでも話が出てたから読み返してくだたい。
- 718 :名前が無い程度の能力:2008/12/10(水) 19:39:02 ID:oG8XPNYM0
- あー、タブインデントつけてもしたらばや2chだと無効なんだっけ('A`)失敗した
- 719 :名前が無い程度の能力:2008/12/10(水) 19:39:39 ID:hi0tacjY0
- 初心者に易しく説明するなら
何もしないままなら指定したその座標から弾が出るが
それを使えば指定した座標からradius離れた座標から弾が出る
ということ
- 720 :名前が無い程度の能力:2008/12/10(水) 19:43:23 ID:mDE.jdKw0
- 関数の初心者です。説明不足でした
アドバイスありがとう。まだ微妙にわからんがとりあえずいろいろ試してみる
- 721 :名前が無い程度の能力:2008/12/10(水) 19:50:48 ID:kcQkZpPs0
- ええと、俺も昨日から始めたばっかだから間違えてるかもしれんが
function offsetX(radius, angle) {
return radius * cos(angle);
}
これで「offsetX(変数radius, angle)という関数を作成して、これがスクリプト内に書かれた場合
radius * cos(angle) という計算式で出た数字を返しますよ」って事じゃないかな。
んで、説明に書かれてる通りだと radius ってのが半径で angle が角度。
function nway(dir, way, span, color) {
let radius = 32;
let angle = dir - (way - 1) / 2 * span;
loop(way) {
let x = GetX + offsetX(radius, angle);
let y = GetY + offsetY(radius, angle);
CreateShot01(x, y, 1, angle, color, 0);
angle += span;
このスクリプトの中身で見ると CreateShot01 の発射する x が
GetX + offsetX(radius, angle) な訳で GetXで今居る自分のX軸を取得してそこにfunctionで設定したoffsetX分の座標を足す、って事だから
「今自分の居るX地点から半径radiusの円の角度cos(angle)地点までズラす」ってのが let x = GetX + offsetX(radius, angle);
YについてはX軸とY軸変えただけだから割愛。
つまり、半径をradiusをでっかくすりゃ円がでっかくなるから中心からさらにズレた位置に弾が出る。って解釈してる。
角度については let angle = dir - (way - 1) / 2 * span; で定義されてる。俺は何故この式が出てくるのかがイマイチわかってない。
つまりfunction offsetXっつーのはイチイチx座標を求める為にイチイチ新しく計算式を作るんじゃなくて
手間を省く為に設定してるだけだから、単体だけじゃ意味が無いんじゃなかろうか。
と、ここまで書いたら先達様達が詳しく説明されてて俺涙目、どうせだから間違って理解してるとこがあったら教えて頂きたい。
- 722 :名前が無い程度の能力:2008/12/10(水) 21:00:20 ID:GSIpM3co0
- ぶっちゃけ俺ならoffsetに関してはこれぐらいだったら関数作らずに一文で書く。
>>721
> let angle = dir - (way - 1) / 2 * span;
dirは基本角度、wayは一度に出る弾の数、spanはnwayの角度の差だとして、
試しにwayに2とか3とか入れて考えてみるといい。
2ならangleにdir-span/2が入るし、3ならdir-spanが入る。
で、その後n回のループの時に弾を今設定したangleの角度で撃った後、
angleにspanが足されてループで戻ってもう一度CreateShotが実行される。
angleに入ってる数字が変わってるからさっきとは別の角度で弾が発射される。
wayに入れた数だけループが実行されるからこれによってnwayの弾が撃てる。
- 723 :名前が無い程度の能力:2008/12/10(水) 21:15:17 ID:kcQkZpPs0
- >>722
説明ありがとう、なんとか理解出来たよ。
もう少し自分でも考えなきゃだめだな…お手数おかけしました。
- 724 :名前が無い程度の能力:2008/12/10(水) 21:17:39 ID:5dbwhLuU0
- 弾幕風は関数呼び出し処理にも負荷が掛かるからoffsetなんかは直接書いた方が軽い。
何でもかんでも関数にすればいいってわけじゃないのがC言語とかと違うところ。
- 725 :名前が無い程度の能力:2008/12/11(木) 03:05:19 ID:qJRcw5I20
- >>695 >>710
imgフォルダ内に入っている隠しファイルが原因で解凍にエラーが出ることがあるのかな?
よく分からん(ヽ´ω`)
というわけでうつほ更新
ttp://coolier.sytes.net:8080/th_up3/file/th3_7085.zip
解凍のエラーが直ってれば最終更新。
少なくとも自分の環境では大丈夫だけども…
- 726 :名前が無い程度の能力:2008/12/11(木) 06:37:04 ID:Ijir3bMw0
- >>724
最も重要なのは可読性。
どうしてもそうする必要があるなら展開スクリプトを書けばいい。
- 727 :名前が無い程度の能力:2008/12/11(木) 16:33:10 ID:Drhy/rwk0
- アドバイスありがとうございました。
完成しました
ttp://momijitocirno.to.zmx.jp/remilia/uploader/count.cgi?remy0083.zip
他にも三つ弾幕を同梱してあります。
- 728 :名前が無い程度の能力:2008/12/11(木) 19:26:40 ID:WHwhT3iQ0
- なんとなくこいしちゃんのハート弾を作ってみました。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7092.zip
使いたい方は好きに使っちゃって下さい。
- 729 :名前が無い程度の能力:2008/12/12(金) 20:18:02 ID:MM/fsGqs0
- >>728
ウホッ!いいハート弾・・・
function CreateReflectShotC (id, x, y, speed, angle, color) {
let time = 0;
let dis;
CreateShotA(id, x, y, 10);
SetShotDataA(id, 0, speed, angle, 0, 0, 0, color);
//
// while (angle < 2) {
// angle += 360;
// }
// if (360 <= angle) {
angle = angle % 360;
// }
let angleLU = atan2(y - GetClipMinY, x - GetClipMinX) + 180;
let angleRU = atan2(y - GetClipMinY, x - GetClipMaxX) + 180;
let angleLD = atan2(y - GetClipMaxY, x - GetClipMinX) + 180;
let angleRD = atan2(y - GetClipMaxY, x - GetClipMaxX) + 180;
if (angleRU == 2) {
angleRU = 360;
}
if (angleRD == 360) {
angleRD = 1;
}
if (angleRU <= angle || angle < angleRD) {
time += (GetClipMaxX - x) / cos(angle) / speed;
}
else if (angleLD <= angle && angle < angleLU) {
time += (GetClipMinX - x) / cos(angle) / speed;
}
else if (angleLU <= angle && angle < angleRU) {
time += (GetClipMinY - y) / sin(angle) / speed;
} else {
return;
// time += (GetClipMaxY - y) / sin(angle) / speed;
}
let angle2=-angle;
SetShotDataA(id, time, NULL, angle2, 0, 0, 0, NULL);
}
このスクリプトですが反射回数を増やすにはどうすれば良いですか?
- 730 :名前が無い程度の能力:2008/12/12(金) 21:45:24 ID:cUGNCy2g0
- x,yを反射後の座標にしてangleを反射後の角度にして
angleを正規化するところから再帰的にやればOK
しかしこの弾が何度も反射することは絶対にない・・・
- 731 :名前が無い程度の能力:2008/12/12(金) 22:30:58 ID:yKLd3qcg0
- >>729
何度も反射させたいんだったらオブジェクト弾を使うのがいいと思う。
現在座標も取得しやすいし。
- 732 :名前が無い程度の能力:2008/12/12(金) 22:37:02 ID:meihf3ks0
- だがしかしObjectをtask管理するとなると
大量に出した時処理するtask数の影響でSetShotより重い可能性が…!
でもObject自体相当便利だから結局どっちも手段として持ってて損はないのよね。
- 733 :名前が無い程度の能力:2008/12/12(金) 23:13:48 ID:cejjyK6Y0
- >>732
オブジェクト弾はCreateShotよりも重いってのは確かだけど1〜200発程度なら問題ない。
変態挙動の弾を画面中埋め尽くすほど出すってのは正直論外だし。
それにCreateShotが軽いと言っても発射直前に情報全部放り込む都合、瞬間的な負荷は馬鹿にできない。
1発だけならまだしも全方位弾にするならスペック低いパソコンだと発射時にカクつくことがある。
オブジェクト弾だと毎フレームの処理数が大体均等化するから低スペックPC対策しやすいというか何というか。
- 734 :名前が無い程度の能力:2008/12/13(土) 02:41:50 ID:0W9Xuvn.0
- 何100回も変化があるのでなければオブジェクト弾より総オーダー数はかなり低いと思う
ただCreateShot系も内部はオブジェクト弾らしいということが分かってるから
どの程度の負荷の違いなのか微妙・・・
- 735 :名前が無い程度の能力:2008/12/13(土) 03:14:39 ID:/l/bNz1s0
- >>734
反射弾に関してはCreateShotで作る場合、三角関数多用することになるのが気になってしょうがない。
三角関数の計算って結構重いんじゃなかったっけ。
そもそも、オブジェクト弾やスクリプト弾がCreateShot系よりも重いと言われる原因ってなんだろう?
- 736 :名前が無い程度の能力:2008/12/13(土) 03:44:28 ID:wAGRnrFQ0
- 同時起動されるタスク数じゃないの?
- 737 :名前が無い程度の能力:2008/12/13(土) 04:15:19 ID:czQhi0Ws0
- >>735
そりゃ確かにちょっとは重い。特定のフレームで大量の処理をしているなら、バラす必要はある。
けどCPUのパワーは十年前と比べて少なくとも100倍、場合によっちゃ1000倍なわけだからねぇ。
ギリギリでチューンしない限りは、殊更気にする必要はじゃないんじゃないか。
それとは別に、それなりのVGA積んでいて、かつ弾がほとんどなくっても極めて重いシーンのあるスクリプトを見かける。
あれはどういう理由なんだろうか。弾が2Dだと3Dの何倍も重くて話にならないけど、弾幕風は内部的には3Dのはずだし。
- 738 :名前が無い程度の能力:2008/12/13(土) 05:04:32 ID:/l/bNz1s0
- >>737
8年くらい前のオンボードマシンだからすごく気になるんだ・・・。
最近は背景付きのスクリプトがほぼFPS30でくじけそうになる。どうでもいいけど。
>それなりのVGA積んでいて、かつ弾がほとんどなくっても極めて重いシーンのあるスクリプトを見かける。
へるしんかみたいに特定の画像処理がそのVGAとすごく相性が悪いとか?
スクリプトの具体名が分からんのでなんともいえない。分かってもなんとも言えない気もするけど。
- 739 :名前が無い程度の能力:2008/12/13(土) 05:10:29 ID:0W9Xuvn.0
- 三角関数なんてほとんど使わずとも反射弾ぐらい作れるんだけど・・・
よく使うギミックなだけに代替策は結構あるし
使いそうな値は最初に配列にして持ってしまう
角度じゃなくて傾きで次にぶつかる辺を判断する
x,y速度にして各辺にぶつかるまでの時間で判断する
まぁ重い関数だとしてもそこまででかい負荷にはならないと思うよ
そんな何回も反射する弾を大量発射するはずもないし
- 740 :名前が無い程度の能力:2008/12/13(土) 05:57:06 ID:/l/bNz1s0
- 結局、出す弾の量自重しろ、でFAなんだよなあ。
なんか変な流れにしてすまんかった。
- 741 :名前が無い程度の能力:2008/12/13(土) 14:07:44 ID:9xfwKmaE0
- script_enemy_main {
let name = "「」";
let imgBoss = "script\img\ExRumia.png";
let csd = GetCurrentScriptDirectory;
let shotData = csd ~ "shot_All.txt";
let arrayLaserA=[];
let arrayLaserB=[];
let xIni = GetCenterX;
let yIni = 160;
@Initialize {
CutIn(YOUMU, name, "", 0, 0, 0, 0);
SetLife(6000);
SetTimer(99);
SetScore(20000000);
SetDamageRate(60, 60);
LoadUserShotData(shotData);
LoadGraphic(imgBoss);
SetTexture(imgBoss);
setGraphicStop;
TMain;
}
@MainLoop {
SetCollisionA(GetX, GetY, 32);
SetCollisionB(GetX, GetY, 16);
yield;
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic(imgBoss);
}
// メインタスク
task TMain {
yield;
standBy;
TShot;
}
sub standBy {
let wIni = 120;
SetMovePosition02(xIni, yIni, wIni);
setGraphicMove;
SetInvincibility(wIni);
wait(wIni);
setGraphicPose;
}
task TShot{
LaserA(0,4500);
LaserB(0,4500);
while(GetEnemyLife>4500){
let angle=rand(-180,180);
loop(60){
shotA(angle,1);
angle+=6;
}
wait(90);
angle=rand(-180,180);
loop(60){
shotB(angle,1);
angle+=6;
}
wait(90);
}
DeleteEnemyShot(ALL);
let ang=45;
loop(2){
LaserA(ang,3000);
LaserB(ang,3000);
ang+=180;
}
while(GetEnemyLife>3000){
let angle=rand(-180,180);
loop(45){
shotA(angle,1.5);
angle+=8;
}
wait(60);
angle=rand(-180,180);
loop(45){
shotB(angle,1.5);
angle+=8;
}
wait(60);
}
}
スクリプトが長すぎる為分割します。
- 742 :名前が無い程度の能力:2008/12/13(土) 14:08:53 ID:9xfwKmaE0
- task LaserA(let ang,let life){
let objA = Obj_Create(OBJ_LASER);
arrayLaserA = arrayLaserA~[objA];
Obj_SetX(objA, GetX+32*cos(ang-120));
Obj_SetY(objA, GetY+32*sin(ang-120));
Obj_SetAngle(objA, ang);
Obj_SetAlpha(objA,192);
ObjShot_SetGraphic(objA, 153);
ObjShot_SetDelay(objA,0);
ObjLaser_SetLength(objA,511);
ObjLaser_SetWidth(objA, 8);
Obj_SetCollisionToPlayer(objA,false);
while( !Obj_BeDeleted(objA) ){
Obj_SetX(objA, GetX+32*cos(ang-120));
Obj_SetY(objA, GetY+32*sin(ang-120));
Obj_SetAngle(objA, ang);
ang-=2.55;
yield;
}
let i=0;
loop(length(arrayLaserA)){
if(arrayLaserA[i] == objA){
arrayLaserA = erase(arrayLaserA, i);
break;
}
i++;
}
}
task LaserB(let ang,let life){
let objB = Obj_Create(OBJ_LASER);
arrayLaserB = arrayLaserB~[objB];
Obj_SetX(objB, GetX+32*cos(ang+120));
Obj_SetY(objB, GetY+32*sin(ang+120));
Obj_SetAngle(objB, ang);
Obj_SetAlpha(objB,192);
ObjShot_SetGraphic(objB, 158);
ObjShot_SetDelay(objB,30);
ObjLaser_SetLength(objB,511);
ObjLaser_SetWidth(objB, 8);
Obj_SetCollisionToPlayer(objB,false);
while( !Obj_BeDeleted(objB) ){
Obj_SetX(objB, GetX+32*cos(ang+120));
Obj_SetY(objB, GetY+32*sin(ang+120));
Obj_SetAngle(objB, ang);
ang+=2.55;
yield;
}
let i=0;
loop(length(arrayLaserB)){
if(arrayLaserB[i] == objB){
arrayLaserB = erase(arrayLaserB, i);
break;
}
i++;
}
}
task shotA(let ang,let ss){
let obj = Obj_Create(OBJ_SHOT);
Obj_SetX(obj, GetX+24*cos(ang));
Obj_SetY(obj, GetY+24*sin(ang));
Obj_SetSpeed(obj, ss);
Obj_SetAngle(obj, ang+90);
ObjShot_SetGraphic(obj, 9);
while( !Obj_BeDeleted(obj) ){
let i=0;
loop(length(arrayLaserA)){
if(Collision_Obj_Obj(arrayLaserA[i], obj)){
ObjShot_SetGraphic(obj, 165);
wait(10);
ObjShot_SetGraphic(obj, 9);
}
i++;
}
yield;
}
}
task shotB(let ang,let ss){
let obj = Obj_Create(OBJ_SHOT);
Obj_SetX(obj, GetX+24*cos(ang));
Obj_SetY(obj, GetY+24*sin(ang));
Obj_SetSpeed(obj, ss);
Obj_SetAngle(obj, ang-90);
ObjShot_SetGraphic(obj, 14);
while( !Obj_BeDeleted(obj) ){
let i=0;
loop(length(arrayLaserB)){
if(Collision_Obj_Obj(arrayLaserB[i], obj)){
ObjShot_SetGraphic(obj, 170);
wait(10);
ObjShot_SetGraphic(obj, 14);
}
i++;
}
yield;
}
}
(グラフィックやwait関数の定義)
}
体力を4500まで削ると、
172行目で、"配列のサイズを超えています"と出ます。
- 743 :名前が無い程度の能力:2008/12/13(土) 14:45:02 ID:KYNxY/Jw0
- >>730_740
いろいろ教えてくださりありがとうございました
ttp://coolier.sytes.net:8080/th_up3/file/th3_7136.zip
なおshot1からshot22弾ID「1」は( 0, 0, 20, 250 )の縦長弾に
なってますレーザーのオプジェクトのやり方がわからなかったからです
敵画像はBGMシリーズのこいしを使用させていただいてます
色々とご迷惑をかけてすいません
- 744 :名前が無い程度の能力:2008/12/13(土) 18:54:13 ID:Ksw95MQg0
- できれば .txtでUPしてくれたほうが助かる
- 745 :名前が無い程度の能力:2008/12/13(土) 19:01:53 ID:KYNxY/Jw0
- >>744
なぜですか?
- 746 :名前が無い程度の能力:2008/12/13(土) 19:02:56 ID:kBSOYgQk0
- ID:9xfwKmaE0へのレスだと思うが
- 747 :名前が無い程度の能力:2008/12/13(土) 19:14:34 ID:3J2Dts.g0
- >>741
一度、shotAの
if(Collision_Obj_Obj(arrayLaserA[i], obj)){
ObjShot_SetGraphic(obj, 165);
wait(10);
ObjShot_SetGraphic(obj, 9);
}
を
if(Collision_Obj_Obj(arrayLaserA[i], obj)){
ObjShot_SetGraphic(obj, 165);
//wait(10);
//ObjShot_SetGraphic(obj, 9);
}
に(shotBも同じように2行分をコメントアウト)して試してみてくれ。
たぶんその辺りが原因じゃないかなぁ、と思う。
- 748 :名前が無い程度の能力:2008/12/13(土) 20:57:44 ID:jMKMY70M0
- 特定の一瞬だけ重くなるとかはありますよね。
>>727の全世界ナイトメアもクナイ弾が今の16Way×3になる前は
20Way×3を2フレーム毎に撃たせていたので一気に弾消しが起こったりすると
fpsが40切るなんて事がありました…
ところで、ボスのいる場所から全方向にランダム弾を撃たせるにはどうすればいいでしょうか。
- 749 :名前が無い程度の能力:2008/12/13(土) 21:03:25 ID:s8M1h1scO
- >>748
loop(弾数){CreateShot01(GetX, GetY, 速度, rand(0, 360), 画像, 遅延);}
えっ普通にこれじゃ駄目なの?
- 750 :名前が無い程度の能力:2008/12/13(土) 22:16:40 ID:jMKMY70M0
- >>749
loop(弾数)の()内で弾数を調整するんですね。
ありがとうございました。
これであの方の弾幕その2が作れそうです
- 751 :名前が無い程度の能力:2008/12/13(土) 22:59:37 ID:9xfwKmaE0
- >>747
DeleteEnemyShot(ALL);
let ang=45;
loop(2){
LaserA(ang,3000);
LaserB(ang,3000);
ang+=180;
}
yield;
while(GetEnemyLife>3000){
と、yieldを入れたら治った。ごめん。
(レーザーに触れた弾を10フレーム間大弾にする処理だから、
そこをコメントアウトすると避ける隙間が無くなるよ。)
- 752 :名前が無い程度の能力:2008/12/13(土) 23:44:41 ID:3J2Dts.g0
- >>751
俺が思ったのは、loopに入った時点で二つあった配列がwait(10);の間に一つになって、二回目のifチェックの時にエラーが出るからとりあえずwaitを外せばいいかなと。
けどうまくいったのならまあいいや。
あと関係ないけど、スクリプト読んでてLaserA(とB)に渡すlifeをどこで使っているのかがよくわからなかったんだが……
- 753 :562:2008/12/14(日) 07:35:30 ID:CwDASLSQ0
- 前回UPったステージスクリプトの微妙Ver.UPのバージョンをアップ
自分で言ってて意味が分からない
ttp://coolier.sytes.net:8080/th_up3/file/th3_7148.zip
今回の追加分は、見てのお楽しみって所で
弾幕に変化は一切ありません♪
ネタはチョロチョロ出て来てるのにorz
- 754 :名前が無い程度の能力:2008/12/14(日) 07:37:18 ID:87qmGTuY0
- >>728
使わせてもらいました。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7149.zip
- 755 :名前が無い程度の能力:2008/12/14(日) 12:11:22 ID:W9ppFXuIO
- >>752
敵のライフが渡したlifeの値を下回ると、
オブジェクトレーザーが削除されるように組む予定でした。
- 756 :名前が無い程度の能力:2008/12/14(日) 17:32:42 ID:mE08LBqs0
- 紅符「不夜城レッド」のようなものが完成。
ttp://momijitocirno.to.zmx.jp/remilia/uploader/count.cgi?remy0095.zip
永夜抄のボムでの挙動を参考にしています。
霊符だと驚くほど楽…
- 757 :前スレ330:2008/12/15(月) 18:49:25 ID:EbthMp2A0
- >>725
無事解凍できました。お手数かけて申し訳ないです…。
そんなこんなで試作なオリジナル弾幕5枚。ファイナルボス風。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7169.zip
誰とはいえない。
- 758 :名前が無い程度の能力:2008/12/15(月) 21:15:11 ID:vI/DXv2I0
- 弾幕結界っぽいのを作ってて困ったんですが、自機が無敵の時に、「敵の弾」と「スペルが終わるまでの時間」を止まらせるにはどうすればいいのでしょうか?
- 759 :名前が無い程度の能力:2008/12/15(月) 21:59:50 ID:asvPCIUw0
- >>758
・敵弾全部オブジェクト弾にして自機無敵時に移動停止
・自機無敵を察知したらGetTimerで値取得して無敵終了までSetTimerし続ける
かな?パッと思いつく限りではこんな感じ
- 760 :名前が無い程度の能力:2008/12/15(月) 22:04:09 ID:asvPCIUw0
- あ、後TimeStopなんて関数を使う手も。
自分は使った事ないからよくわからないけどね!
- 761 :名前が無い程度の能力:2008/12/16(火) 01:52:46 ID:V3kN52nA0
- GIGA SERIOUS_動作確認版
ttp://coolier.sytes.net:8080/th_up3/file/th3_7178.zip
一面中ボスまで。
特殊なので一応ReadMe読んでおいたほうがいいかもです。
ある程度のスペックがないと処理落ちするかもしれません。
- 762 :名前が無い程度の能力:2008/12/16(火) 09:36:09 ID:QNLRP3qE0
- 関数投下
function StarShot(X,Y,Speed,angle,Collar,Time,angle2) {
//星を作る関数 使用→発射の間に46フレームあります。
//StarShot(X位置,Y位置,速度,角度,色,延長,頂点角度)
let wayAngle = 0;
loop(5){
let Speed2 = 0.2;
loop(10){
CreateShotA(0,X,Y,Time);
SetShotDataA(0,0,4,angle2+wayAngle,0,0,Speed,Collar);
SetShotDataA(0,15,Speed2,angle2+160+wayAngle,0,0,Speed2,Collar);
SetShotDataA(0,46,Speed,angle,0,0,Speed,Collar);
FireShot(0);
Speed2+=0.4;
}
wayAngle += 72;
}
}
- 763 :名前が無い程度の能力:2008/12/16(火) 11:51:19 ID:Sugr0pAA0
- >>759
ありがとうございます!
無事できました。
一瞬自機の無敵を察知する関数なんてあったっけ?
とか思ったけど
if(GetTimeOfPlayerInvincibility>0)
にしたらうまくいきました。
- 764 :762:2008/12/16(火) 22:36:25 ID:QNLRP3qE0
- ダレモイナイ
サンプル
ダスナラ
イマノウチ
ttp://sp1zsq.blu.livefilestore.com/y1pJoCR4n5bUBbHmsPvlZZpK4NOr9yRIvA8zJhipOMIVvk78keSpIkYklgI7IDhi5_X1cLWhSGu7lemJIIgx2ObBA/%E5%86%AC%E7%AC%A6%E3%80%8C%E3%82%AF%E3%83%AA%E3%83%9E%E3%82%B9%E3%83%BB%E3%83%A1%E3%83%AA%E3%83%BC%E3%80%8D.txt
- 765 :名前が無い程度の能力:2008/12/16(火) 22:40:49 ID:I8O329vI0
- >>761
些細な事象ですが表示関連のバグ報告。
起動時のメニューで上下を素早く入力するとカーソルが変な位置で停止します。
--以下感想--
MEGAの頃からなんかサイヴァリア臭がすると思ってたらやはり意識されてたのですねっ
弾消しに関しては大復活のハイパー型より常に使える分気軽な感じで個人的に好感触。
(大復活がそんなに好みじゃないってのもありますが…)
個性的な作品で今後が非常に楽しみです。
- 766 :名前が無い程度の能力:2008/12/16(火) 22:41:42 ID:fdJkoNGE0
- >>764
これはいい出落ち
- 767 :762:2008/12/16(火) 22:57:15 ID:QNLRP3qE0
- >>764を少しだけ使い回ししやすく修正
ttp://sp1zsq.blu.livefilestore.com/y1picx19EpKFP1bmkuLecIHq71zPi7
vppcbPJeaUZqVBzWXO8j4sdrgtWUoCEviIsp2Ju8ktF3sY_i8cMOv-tEXsw/
%E5%86%AC%E7%AC%A6%E3%80%8C%E3%82%AF%E3%83%AA%E3%83%9E%E3%82
%B9%E3%83%BB%E3%83%A1%E3%83%AA%E3%83%BC%E3%80%8D.txt
- 768 :名前が無い程度の能力:2008/12/19(金) 00:54:51 ID:8iQofQHA0
- 小さい弾(10×2程)を作ったのですが、
もう詐欺的な当たり判定になってしまいました
矩形はちょうど弾グラフィックどおりになってます
なんででしょう?
- 769 :名前が無い程度の能力:2008/12/19(金) 01:15:41 ID:CI/Itnw.0
- グラフィックどおりだからさ
- 770 :名前が無い程度の能力:2008/12/19(金) 01:58:23 ID:wDBcmx2k0
- 弾幕風って本家より当たり判定ちっこいってよく聞くんだけど
当たり判定ちっこいのって弾なんだろうか。それともデフォ自機?
- 771 :名前が無い程度の能力:2008/12/19(金) 02:21:27 ID:u2n/z9S20
- >>770
自機。当たり判定が完全に点(半径0)になっているらしい。
弾は画像から設定されるようになっているから蝶弾みたいなのは本家より大きくなる。
弾幕風の前身の東方宵闇郷が紅と妖の間くらいに出たものだから
紅の当たり判定に近いといえば近い・・・のか?
- 772 :名前が無い程度の能力:2008/12/19(金) 02:47:21 ID:Kq0Lxx6g0
- 弾のほうを調整すればバランスは取れなくはないが自機差を作るのはむずかしい
- 773 :名前が無い程度の能力:2008/12/19(金) 11:29:13 ID:MX.iNY4.0
- 確かに東方本家の弾と同じ大きさ+当たり判定で作ったら
結構スカスカで弾列も通り抜けられた・・・
- 774 :名前が無い程度の能力:2008/12/19(金) 17:03:50 ID:mRU/s5560
- こいしのご先祖総立ちの自機狙いぐるぐる(?)弾はどうやったら作れるんですか?
SetShotDirectionType(PLAYER)をやってみたけど固定弾まで自機狙いになってしまいます
- 775 :名前が無い程度の能力:2008/12/19(金) 17:24:18 ID:u2n/z9S20
- >>774
弾幕風ヘルプのサンプルページにあるA03 一定時間で自機方向へ角度を変える弾 で
SetShotDirectionTypeをどう使っているか見てみるといい。
- 776 :名前が無い程度の能力:2008/12/19(金) 18:07:19 ID:VgP4cUc20
- >>774
SetShotDirectionType(PLAYER)で角度基準変更して弾撃った後
SetShotDirectionType(ABSOLUTE)に戻してないんでないかい?
DirectionをPlayerにしてSetShot記述したらSetShot直下なりFireShot後なりに
DirectionをAbsoluteに変更しないといつまでもPlayer基準で歪んだ弾幕になるよ。
※余談
この歪みを使えばボス美鈴開幕第一通常に見られる規則性の見られる気合避け系弾幕が作れる。
気合弾幕イイヨー
- 777 :名前が無い程度の能力:2008/12/19(金) 20:15:48 ID:mRU/s5560
- >>775
>>776
なるほどそんなに簡単な方法で作れるんですね
気合弾幕か、作るほうは良いけどプレイヤーにとっては地獄ですね
- 778 :名前が無い程度の能力:2008/12/19(金) 21:01:41 ID:8iQofQHA0
- ペイントで左上が 94,0 右下が 97,19って表示されてるときって
(94,0,98,20)って書けばいいんだよね?
これでグラフィックの縦3倍の長さの当たり判定になるんだが・・・
因みに上の20を10にするとほぼグラフィックどおりになる
横に細く縦に長い弾を作るとみんなこんな感じになるの?
絵の無い所に当たり判定あるとかどんな詐欺ゲー
- 779 :名前が無い程度の能力:2008/12/19(金) 22:06:25 ID:wDBcmx2k0
- そりゃグラフィック通りに座標指定しないと絵が無いとこまで弾になる
これを利用して見えない弾(当たり判定用)も作れる
あとレーザーの詐欺判定は仕様
- 780 :名前が無い程度の能力:2008/12/19(金) 22:50:04 ID:lqChtkz.0
- 話ぶった切ってすみません。
プレイヤーがミスした時に、ある敵スクリプトで作られた敵だけを消したい時(他のスクリプトの敵はそのまま)はどうしたらよいのですか?
- 781 :名前が無い程度の能力:2008/12/19(金) 23:20:32 ID:VgP4cUc20
- プレイヤーがミスした時に(OnPlayerMissedがtrue or GetMissCountの値が増加した時に)
ある敵スクリプトで作られた敵(VanishEnemy or SetLife(0)を実行するタスクを含んだ敵)
を作ればいいよ
- 782 :名前が無い程度の能力:2008/12/19(金) 23:21:50 ID:VgP4cUc20
- 途中送信で日本語おかしくなったけどとりあえず意味は伝わりそうな気がするから細かい訂正しないよ!
- 783 :名前が無い程度の能力:2008/12/19(金) 23:27:15 ID:8iQofQHA0
- >>779
グラフィックどおり切り取って>>778みたいになったんだが…
ああ、読み返して日本語間違ってたなスマン
4行目の「グラフィックどおりになる」は
切り取った時点でのグラフィックどおりになるということで
実際グラフィックは半分になってます
儚月抄中巻欲しい
- 784 :名前が無い程度の能力:2008/12/19(金) 23:43:59 ID:ZgtlxJ0A0
- すまん…愚問していいか?
会話作っているんだが、何故か動かん。
弾幕作れるのになぜか会話だけが作れない…。
絶対ぐちゃぐちゃだけど、本当に修正頼む…。
script_enemy_main {
let imgBoss = "script\kurenai\source\image\shal.bmp";
let step=0;
// 初期位置
let xIni = GetCenterX;
let yIni = GetClipMinY + 32;
@Initialize {
SetLife(1);
LoadGraphic(imgBoss);
SetTexture(imgBoss);
sub SEvent {
CreateEventFromScript("Talk");
while(OnEvent) { yield; } // 会話終了まで待機
TMain;
}
}
@MainLoop {
SetCollisionA(GetX, GetY, 20);
SetCollisionB(GetX, GetY, 8);
yield;
}
@DrawLoop {
DrawGraphic(GetX, GetY);
}
task TMain {
yield;
while(OnEvent)
{ // 説明終了までループ
step = GetEventStep; // 説明段階取得
yield;
}
}
// 初期位置へ移動
sub standBy {
let wIni = 120;
SetMovePosition02(xIni, yIni, wIni);
setGraphicStop;
wait(wIni);
}
// グラフィックの設定
sub setGraphicStop { SetGraphicRect( 0, 0, 64, 64); }
// w フレームだけ待つ
function wait(w) {
loop(w) { yield; }
}
}
script_event Talk{
let CImizuki = GetCurrentScriptDirectory() ~ "Tgraphic\mizuki.png";
let CIshal = GetCurrentScriptDirectory() ~ "Tgraphic\shal.png";
let NAMEshal = GetCurrentScriptDirectory() ~ "Tgraphic\NameShal.png";
@MainLoop
{
SetStep(0);
Wait(30); // 30f待機
TextOutB(30, "\c[PURPLE]そんなところで何やってんだい?");
SetChar(LEFT, CImizuki); // ファイルパス設定
SetGraphicRect(LEFT, 0, 0, 96, 96); // 描画範囲設定
MoveChar(LEFT, FRONT); // 前に出す
SetNameFromText(LEFT, TEXT_PURPLE, "詠永 紗嵐", "八百万の神々の統率者");
}
End();//最後にEnd()は必須
}
- 785 :名前が無い程度の能力:2008/12/20(土) 00:02:54 ID:lmmyf.z60
- >>781-782
ありがとうございます。
SetLifeという手がありましたか。
- 786 :名前が無い程度の能力:2008/12/20(土) 00:56:57 ID:7cFRShLg0
- >>785
よくよくヘルプ見直したら
AddLife(-GetLife);
な処理の方が推奨されるっぽい。
SetLife(0;)
でも動くと思うけどね!
- 787 :名前が無い程度の能力:2008/12/20(土) 05:16:13 ID:2s/MJjB60
- >>778
弾幕風WikiのTipsより
>「矩形の長い方の辺/1.5-1.5(最低3)」を直径とする円が当たり判定になる。
>矩形の縦と横の長さに2倍以上の差がある場合は、この当たり判定を弾の向きに合わせて複数個並べる。
>弾画像をレーザーとして使った場合は、当たり判定は直線になる。
・・・さりげなく物騒なことが書いてあることに気がついただろうか。
長い方を基準にした判定を複数個並べるのだから縦と横の差が大きいと判定がずれるわな。
縦と横の長さは2倍未満に収めて、それ以上の差をつけたいときは射出型レーザーを使うのが無難。
>>784
sub SEvent自体を実行していない。
最後にEnd()は必須といいつつEnd();が@MainLoopの外に出ている。
怪しい点はこの2か所。特に後者。
- 788 :名前が無い程度の能力:2008/12/20(土) 14:52:02 ID:x5xSgHP20
- なんとなくトランプで弾作ってみました。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7218.zip
- 789 :名前が無い程度の能力:2008/12/20(土) 17:55:51 ID:lmmyf.z60
- ダレモイナイ、サラスナライマノウチ・・・
つ[ttp://coolier.sytes.net:8080/th_up3/file/th3_7221.lzh]
>>601です。
色々言われた部分を改善しようとしました。が、これなんていう賢者の石?
- 790 :名前が無い程度の能力:2008/12/20(土) 20:14:37 ID:7cFRShLg0
- >>789
大分「らしく」なってきました。
使い魔を撃たせる行動への誘導も上手く出来ていたと思います。
一つ難点を挙げるならば黄色の使い魔の予告線とナイフの軌道が一致していない所でしょうか。
- 791 :名前が無い程度の能力:2008/12/20(土) 20:25:56 ID:5Cz1.Oz20
- >>787
やはり仕様か…
レーザーって言っても大量に使用するし
変更します
ありがとうございました
- 792 :名前が無い程度の能力:2008/12/20(土) 20:52:42 ID:2s/MJjB60
- >>791
射出型レーザーはよっぽど長くしない限り普通の弾と負荷的に大差ないぞ。
加算合成描画になってギラギラして見難いのは問題ではあるが。
大量に使用する事による負荷を危惧するなら大量に使うことそのものを見直せ。切実に。
- 793 :名前が無い程度の能力:2008/12/20(土) 21:02:42 ID:lmmyf.z60
- >>790
自分も気になって直そうとはしたのですが、できなかったのですよorz
そもそもレーザーが無限追尾してくれない・・・。
本当は、予告線が少しの間追尾→自機狙い にしたかったのですが、上手くいきませんでした。
task TAimingShot(v, type) {
let x = GetX;
let y = GetY;
let angle = GetAngleToPlayer;
let obj = Obj_Create(OBJ_LASER);
Obj_SetX(obj, x);
Obj_SetY(obj, y);
Obj_SetAngle(obj, angle);
ObjShot_SetGraphic(obj, YELLOW01);
ObjShot_SetDelay(obj, 500); //予告線のみ
ObjLaser_SetLength(obj, 450);
ObjLaser_SetWidth(obj, 8);
ObjLaser_SetSource(obj, false);
wait(15);
while(!Obj_BeDeleted(obj)) {
let i = 0;
while(i < 30) {
x = GetX;
y = GetY;
angle = GetAngleToPlayer;
Obj_SetX(obj, x);
Obj_SetY(obj, y);
Obj_SetAngle(obj, angle);
i++;
}
let id = 0;
CreateShotA(id, GetX, GetY, 0);
SetShotDirectionType(PLAYER);
SetShotDataA(id, 0, v, 0, 0, 0, 0, type);
FireShot(id);
wait(30);
SetShotDirectionType(ABSOLUTE);
Obj_Delete(obj);
}
}
という感じでやってみたのですが、駄目でした。
- 794 :名前が無い程度の能力:2008/12/21(日) 00:22:48 ID:qsKZKiC60
- >>793
ttp://coolier.sytes.net:8080/th_up3/file/th3_7232.txt
こんな感じで修正しておきました。
/*低速自機狙い*/
function shotToPlayer(dir, va, type) {
let way = 7;
let id = 0;
let vb = 2;
let angle = dir;
let span = 360 / way;
loop(way) {
SetShotDirectionType(ABSOLUTE);
CreateShotA(id, GetX, GetY, 0);
SetShotDataA(id, 0, vb, angle, 0, -0.05, 0, type);
SetShotDirectionType(PLAYER); //自機の方向を0°とする
SetShotDataA(id, 75, va, 0, 0, 0, va, type);
FireShot(id);
SetShotDirectionType(ABSOLUTE);←こいつが無かった為、ちょうど同じフレームに発射される高速弾がおかしくなっていました。
angle += span;
}
}
恐らくこれで正常に動くはずです。(どこかにバグがあれば修正します…)
蛇足ですが追尾も搭載しておきました。
- 795 :名前が無い程度の能力:2008/12/21(日) 16:49:33 ID:bcxn3wPQ0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_7241.zip
このスクリプトはゆかりんのストレートとカーブなんですが
レーザーをもっと本家に近ずけたいのですがどうすれば近ずきますか?
あと本家と似てないところがあったら指摘してください
- 796 :名前が無い程度の能力:2008/12/21(日) 19:54:54 ID:fTm/A9sI0
- >>794
親切すぎる・・・・・・!本当にありがとうございました!
高速弾がおかしくなっているのには全く気が付いていませんでした。
そして絶対追尾の方ですが、そういえばyield必要ですね・・・。言われてみると気が付く過ち。
こうして、若者はまた一つ成長した・・・。
- 797 :名前が無い程度の能力:2008/12/21(日) 20:34:37 ID:ZUPIBejo0
- >>792
マジですか!
弾と短いレーザーは変わらない…
いいこと聞いた
ありがとうございます
まぁ、大量に使うっていうネタ弾幕なので…
変わらないならこのままでいいかな?
- 798 :名前が無い程度の能力:2008/12/21(日) 20:59:24 ID:s4d1Gmlk0
- >>795
グラフィックを本家に近づけたいのなら夢終劇のグラフィック絵を使うことを薦める。
レーザーの挙動は本家は2wayで角度は180→150→120→60→30→180(以下ループ)
と変化してる(角度は勘だから微妙に違うと思う)。
それで、ほぼ一定フレームでレーザーは発射されているが時間が経つと少しずつ発射間隔が短くなってる。
あと、大玉は最初から角速度をかけて加速度を使って速度を落とせば本家に近づく。
なんか文章汚くてサーセン
- 799 :名前が無い程度の能力:2008/12/21(日) 22:38:45 ID:ZUPIBejo0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_7245.zip
質問してたものと無関係だけど前作ったものを
二重黒死蝶アレンジです
弾見にくかったりスクリプト汚かったりしますが
よろしくお願いします
- 800 :名前が無い程度の能力:2008/12/22(月) 00:27:24 ID:48ymZqBI0
- ttp://coolier.sytes.net:8080/th_up3/file/th3_7246.zip
だいぶ完成したかな(敵キャラとレーザー以外)?
レーザーを本家に近ずけたらなんかバグリました・・・
- 801 :名前が無い程度の能力:2008/12/22(月) 00:38:19 ID:48ymZqBI0
- >>798
色々教えて下さりありがとうございました
>>799
耐久ラスペにしたらなおグット
- 802 :名前が無い程度の能力:2008/12/22(月) 16:52:53 ID:gi9QNqZc0
- >>800
よくあれだけのものをタスク使わずによくできたと思う。
とりあえずレーザーのバグを直して、移動とボム時の処理以外を全部タスクにしてみた。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7249.zip
本家の大玉の絶妙な感じを再現できない・・・
- 803 :名前が無い程度の能力:2008/12/22(月) 20:05:08 ID:48ymZqBI0
- >>802
親切にしてくださってありがとうございます
ttp://coolier.sytes.net:8080/th_up3/file/th3_7252.zip
動と静の均衛です
- 804 :前スレ330:2008/12/22(月) 20:42:24 ID:AIA6S1Fc0
- んー、どうも間が悪いような気がしてならない……。
さておき
そんなこんなで霊夢風
ttp://coolier.sytes.net:8080/th_up3/file/th3_7253.zip
- 805 :名前が無い程度の能力:2008/12/22(月) 21:45:29 ID:7pTJ3CKM0
- >>799
元がいいから少しぐらいアレンジしても少しいいスペカに…
ラスペってそういやありましたね
アドバイスありがとうございます
- 806 :名前が無い程度の能力:2008/12/22(月) 21:47:27 ID:7pTJ3CKM0
- う・・・アンカミス
>>801だった…
自分にお礼言ってどうする自分
- 807 :名前が無い程度の能力:2008/12/24(水) 00:05:17 ID:txh60eMQ0
- 今日学校でベジエ曲線習ったんだけど、弾幕風で描けたりしないかな。
めちゃくちゃ重くなりそうだけど。
- 808 :名前が無い程度の能力:2008/12/24(水) 00:14:15 ID:DC1LDUwk0
- 数学を扱える環境である以上ベジェだろうがトロコイドだろうが書ける。
分割数少なめにしておけば実用できるんでないかな?
- 809 :名前が無い程度の能力:2008/12/24(水) 03:55:26 ID:BiKgO/rE0
- いつの間にか本家の弾幕を再現させるためのスレってのが立ってるけど分ける必要あるのかな。
- 810 :名前が無い程度の能力:2008/12/24(水) 06:56:17 ID:ySTMgMiQ0
- 本家の弾幕を再現するのって視覚からの情報だけでやるのかな
それともツール使うのかな
- 811 :名前が無い程度の能力:2008/12/24(水) 07:00:45 ID:PtoDhSEk0
- 曲線を作るスクリプト数種類
ttp://coolier.sytes.net:8080/th_up3/file/th3_7276.zip
ベジェ曲線含む他の曲線も絶賛放棄中
数学って難しい!
アタマイタイorz
- 812 :名前が無い程度の能力:2008/12/24(水) 09:57:16 ID:hgJfwvlE0
- やっぱり見る以外手がないと思うよ
私的に録画して
何フレームに何発出るのかという程度しか
- 813 :名前が無い程度の能力:2008/12/24(水) 18:02:46 ID:DC1LDUwk0
- >>810
本家のスクリプト部分はかなり暗号化やら何やら厳重にかかってるそうだね。
今までにソース解析してコピー弾幕作ったって話も聞かないし視覚頼りかねぇ…
- 814 :名前が無い程度の能力:2008/12/24(水) 18:58:05 ID:ySTMgMiQ0
- >>812-813
㌧クス 参考になった
- 815 :574:2008/12/24(水) 20:54:57 ID:82KMppSQ0
- >>574にステージを3つほど追加しました
容量大きいので注意してね
- 816 :名前が無い程度の能力:2008/12/25(木) 00:36:20 ID:9CObP2Y60
- 空気を読まずロールシャッハと遺伝子を投下。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7286.zip
遺伝子の弾の飛ぶ方向ってロールシャッハと式違うのかな。
なんか微妙に違う気がする。
- 817 :名前が無い程度の能力:2008/12/25(木) 02:16:42 ID:pEQjoIfg0
- >>816
すごくいい!!
だけど効果音少しうるさいかな?
あとグ○コのポーズがすごく気に入りましたありがとうございます
これでこいしコピー6つになりましたね
こいしコピー、結構人気あるな
- 818 :名前が無い程度の能力:2008/12/25(木) 21:15:31 ID:9CObP2Y60
- ttp://coolier.sytes.net:8080/th_up3/file/th3_7295.zip
遺伝子の角度を修正してみたけどまだ微妙・・・
もしかしたら途中で飛ぶ角度変わってるのかな。
あとイドとエゴにもドット絵を対応させてみました。
「サブタレイニアンローズ」も原型はできたんだが細かい数値がちょっとまだよくわからん。
何よりこのままだと「サブタレイニアン大玉」になってしまうw
- 819 :名前が無い程度の能力:2008/12/25(木) 21:47:47 ID:Rw0qkBk.0
- サブタレイニアンローズの改変ver.
ttp://coolier.sytes.net:8080/th_up3/file/th3_7298.zip
細かな数値どころか色々違うけど、
この程度の薔薇弾ならどうぞー
- 820 :名前が無い程度の能力:2008/12/26(金) 01:09:17 ID:fMIn1fT20
- ttp://coolier.sytes.net:8080/th_up3/file/th3_7301.zip
819氏のを本家風にしました、819氏のをいじっただけなので
とても汚いです
すいません819氏
こいし大人気ですね
- 821 :名前が無い程度の能力:2008/12/26(金) 03:18:44 ID:P3M71spI0
- >>820に俺涙目。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7303.zip
オブジェクト弾だけど再現度は良好。
あと無駄に撃破時の雰囲気も再現してみた。
- 822 :名前が無い程度の能力:2008/12/26(金) 18:48:16 ID:19SKzrg20
- 変数とか配列をCで言う参照渡しできないのかね。
これできると今のスクリプトがだいぶまとまるんだけど。
ポインタもないからやっぱ無理なのかな
- 823 :名前が無い程度の能力:2008/12/26(金) 19:23:41 ID:PAYZsoHU0
- ロールシャッハにせよ無意識にせよ本家ではクソ難しいのに
弾幕風だと霊夢が神性能過ぎて簡単に思えてくる不思議
- 824 :名前が無い程度の能力:2008/12/27(土) 04:41:37 ID:ybBd/Dhk0
- 本家は弾もでかいし自機もでかいから簡単に当たるんだよなぁ
弟が弾幕風に興味を持ったから簡単に作れるサンプル的なものをやってみた
マイクロスレッド無しでなるべく簡潔に書こうとしたらこんな感じか・・・
俺自体まだ弾幕風始めて3週くらいでマイクロスレッドをようやく使いこなせる程度だから上手く教えられん\(^o^)/
ttp://coolier.sytes.net:8080/th_up3/file/th3_7326.txt
あと質問、連続再生で回転魔方陣やら出しっぱなしにしたいんだけど
角度とか引き継ぐにはSetCommonData関係を使えばいいの?
- 825 :名前が無い程度の能力:2008/12/27(土) 04:45:40 ID:ncglSiN60
- >>824
うん。ふぁいならいずでSetCommonData仕込んで次のスクリプトに座標や角度の情報受け渡すといいよ。
- 826 :名前が無い程度の能力:2008/12/27(土) 16:11:20 ID:jXXEb1zA0
- 妖怪ポリグラフのレーザーに付いてる自機座標弾ってどうやって作るのですか?
レーザーの弾の登録と回転までは出来たのですが
- 827 :名前が無い程度の能力:2008/12/27(土) 19:01:33 ID:rE77Rr8Y0
- 初歩的な質問ですみませんがCreateLaserAの設置型レーザーってSetShotKillTimeで消えないんでしょうか?
CreateLaserA(0,GetX,GetY,100,20,WHITE01,20);
SetLaserDataA(0,0,0,1,0,0,0);
FireShot(0);
wait(30);
SetShotKillTime(0,30);
こんな感じで組んでるんですが延々とレーザーが出続けて消えてくれません
誰か教えていただけるとうれしいです お願いします
- 828 :名前が無い程度の能力:2008/12/27(土) 19:09:18 ID:EZYwJWuU0
- >>827
SetShotKillTime(0,30);は
FireShot(0);の前に置かないと
動作しない
- 829 :名前が無い程度の能力:2008/12/27(土) 19:43:01 ID:pPxDZwn.0
- 半径(r)は、
r = ((GetPlayerX - GetX)^2 + (GetPlayerY - GetY)^2)^0.5
角度(angle)は各レーザーの角度で、
求める座標(x,y)は、
x = GetX + cos(angle) * r
y = GetY + sin(angle) * r
となる。
- 830 :sage:2008/12/27(土) 19:52:44 ID:rE77Rr8Y0
- >>828
上手くいきました!ありがとうございます!
- 831 :名前が無い程度の能力:2008/12/27(土) 19:53:27 ID:rE77Rr8Y0
- ミスって名前のとこにsageいれちまったorz
- 832 :名前が無い程度の能力:2008/12/29(月) 00:46:54 ID:3iTHgYQo0
- チルノのパーフリみたいに
発射するタイミングは違えど挙動が変化するタイミングは全部同じ
という挙動はどうすればできますか?
if(count = ?){??} ですかね?やっぱ
できればそれ以外がいいんですが
- 833 :名前が無い程度の能力:2008/12/29(月) 04:51:50 ID:r.Dl8ENc0
- >>832
マイクロスレッドの勉強をしなさい。
そうすれば任意の処理を任意のタイミングでできるし、
幾つかの処理をひとまとめにすることもできる。
- 834 :名前が無い程度の能力:2008/12/29(月) 05:48:38 ID:neVKivr.0
- SetShot辺り使って簡単にできるよ、
0フレーム目に60フレーム後に停止する弾を撃つ
15フレーム目に45フレーム後に停止する弾を撃つ
30フレーム目に30フレーム後に停止する弾を撃つ
45フレーム目に15フレーム後に停止する弾を撃つ
とやったら全ての弾は同時に停止するでしょう?
カウンタ変数での制御かtaskでの制御かは別に関係なくできるよ。
後、あんまりスマートじゃないけど
let スイッチ=false;
task オブジェクト弾
{
while(!スイッチ){弾がうごく}
弾がとまる
色々その後の処理
}
な感じでやっても停止のタイミングとか
色々好き勝手できるよ、不恰好だけど。
- 835 :名前なんていらない程度の能力:2008/12/29(月) 07:24:42 ID:sM04UUDo0
- 質問いいですか
自分から少し離れた位置から全方位弾てどうすればできますか
教えて下さい
- 836 :名前が無い程度の能力:2008/12/29(月) 07:30:36 ID:Y0aLAUPk0
- >>835
質問いいですか
自分とは誰ですか
少しとは何ドットですか
全方位弾とはなんですか
教えて下さい
- 837 :名前なんていらない程度の能力:2008/12/29(月) 07:49:49 ID:sM04UUDo0
- 自分とは敵のこと
少しとは10ドットのこと
全方位弾とは360°全方位に円形に撃つ弾(だと思ってます
これでいいですか?
- 838 :名前が無い程度の能力:2008/12/29(月) 08:04:29 ID:Y0aLAUPk0
- >>837
ではその敵のX座標Y座標を調べます。
次に弾を撃ち出す座標を、そこから任意方向に10ドットずらします。
発射位置を滑らかに変化させたいなら、三角関数を使ってもいいですよ。
全方向弾については、テキスト6ページ『値を変化させよう』を応用しましょう。
- 839 :名前が無い程度の能力:2008/12/29(月) 08:08:07 ID:neVKivr.0
- >>837
そうだね、ではそれを踏まえた上だと
「敵から10ドット離れた位置位置から全方位弾」
をやればいいって事になるね。
「敵から全方位弾」はできるかい?
できる前提で文を続けるけど
CreateShot系列の前半にGetX,GetYとか書かれてると思うんだ。
そこをGetX+10とかGetY+10とかしてごらん。
- 840 :名前なんていらない程度の能力:2008/12/29(月) 08:13:37 ID:sM04UUDo0
- 全方位はできます
前に+10ってやってみたんですが
全体的にズレただけになってしまって
- 841 :名前が無い程度の能力:2008/12/29(月) 09:13:19 ID:VhXKYkkg0
- >>840
全体的にズレたというのはどういうことなのかちゃんと分かるように説明して欲しい。
それだとちゃんと弾源がずれてるようにしか聞こえない。
座標に+10してちゃんと弾源がズレなかった、おかしなことになったってことなら全方位弾のループ処理がおかしいのかも。
あと無駄な改行はやめたほうがいいよ。
- 842 :名前が無い程度の能力:2008/12/29(月) 10:13:45 ID:uYvLN0R.0
- >>840
一箇所から全部出るんじゃなくて円周上から全方位に飛ばしたいってこと?
それなら弾源を三角関数でGetX+10*cos(Angle)とか表せば出来るんじゃないかな。
- 843 :前スレ330:2008/12/29(月) 14:58:18 ID:qBeTP/U.0
- >>832
ShotDataAの開始フレームに「開始したいフレーム-count」としておくと、弾の挙動を同時に変えれます。
>>603のスペルから引用すると……
if(count>=200&&count<=350){
〜省略〜
CreateShotA(0,GetX,GetY,0);
SetShotDataA(0,0,shotSpeed,rand(0,360),0,-0.07,0,RED01);<カウントが200〜350の間は赤弾のばら撒き(150弾分)
SetShotDataA(0,410-count,NULL,rand(0,360),0,0.01,0.7,RED05);<カウントが410に到達すると、ばら撒かれた赤弾150弾が同時に赤小弾に変化する
FireShot(0);
〜省略〜
}
パーフェクトフリーズの場合だと……
0(開始)フレーム:ばら撒く為のShotData
弾を止めるフレーム-count:弾を止める&白弾に変化させるShotData
弾を再び動かすフレーム:白弾をランダム方向に飛ばすShotData
のように設定すれば、できるかと思います。
- 844 :名前が無い程度の能力:2008/12/29(月) 16:11:30 ID:ddzjTZfs0
- >>829
確かに自機座標に弾が出たんですけど
自機を動かしてもまったく座標が
変わりません
- 845 :名前なんていらない程度の能力:2008/12/29(月) 21:35:35 ID:sM04UUDo0
- >>842
ありがとうございます
あと直そうとしてた癖がまたでてしまい
前もここで注意されたんですが
申し訳ありません
- 846 :名前が無い程度の能力:2008/12/29(月) 23:22:36 ID:3iTHgYQo0
- >>833
>>834
>>843
ありがとうございました
>>843の方法を使わせていただきます
マイクロスレッドはここの講座に目を通していたんで理解はしていたつもりなんですが、
残念ながら思いつきませんでした…
- 847 :名前が無い程度の能力:2008/12/30(火) 09:08:24 ID:VdYpPcvM0
- >>844
rは自機が動けば変化するから、rやx,yは定数じゃないわけで。
((GetPlayerX - GetX)^2 + (GetPlayerY - GetY)^2)^0.5みたいなのは、はあくまで「代入した瞬間」の値で、
それを代入されたrは、その値を受け取ったあとは変化せずもう一度代入しなおさない限り
つまりr,x,yは1回代入するだけじゃだめで
弾を発射するたびにそれぞれ式を代入して求めなおす必要がある。
ようは一緒にそのループ中にr,x,yの代入処理も組み込んどけという話。
- 848 :847:2008/12/30(火) 09:12:50 ID:VdYpPcvM0
- なんか文途切れてたw
まぁあくまでr,x,y見たいなのはただの定数を入れる箱で、
一度代入したら、別の値を代入しなおすまではずーっと変化しない。
式を入れる箱を作りたければfanctionを使えばいいんだけどね。
- 849 :名前が無い程度の能力:2008/12/30(火) 09:13:09 ID:rWYOD/Jc0
- HSPあたりのフルにパラメータいじれる環境で遊んでみたほうがいいかも。
自分が何をしようとしているのかを言葉で明確にできない感じなんで、
このままだとずっと周りに聞き続けることになる。
- 850 :名前が無い程度の能力:2008/12/30(火) 12:05:49 ID:k8d767tI0
- >>835
亀レスで見てるかしらんけど任意のフレームまで自作のサイズ0の弾に置き換えてみたら?
しかしオブジェの仕様がさっぱりわからん、どこかに解説してるサイトねーかなwww
- 851 :名前が無い程度の能力:2008/12/30(火) 12:17:12 ID:4JvJjQYc0
- >>847
代入処理とは?
- 852 :名前が無い程度の能力:2008/12/30(火) 14:36:57 ID:yQ2/3WUs0
- >>851
要するにループ毎にrとかを更新しなさいよって事。
- 853 :名前が無い程度の能力:2008/12/30(火) 18:53:16 ID:4JvJjQYc0
- 更新なんて出来るんですか?
- 854 :名前が無い程度の能力:2008/12/30(火) 19:03:57 ID:.5wBbcjg0
- >>853
値の更新、というか変数の代入等に関してピンと来なければこの辺り一読するといいんじゃないかな。
ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/products/thdnhlec/006.html
- 855 :名前が無い程度の能力:2008/12/30(火) 19:49:24 ID:4JvJjQYc0
- >>854
task Main{
loop(60){yield;}
loop{
let i=60;
let j=60;
loop(1){
let angle=0;
CreateLaserA(0,GetX,GetY,300,10,WHITE02,30);
SetLaserDataA(0,0,angle,0.5,0,0,0);
loop(1000) {
let r=0;
r = ((GetPlayerX - GetY)^2 + (GetPlayerY - GetY)^2)^0.5;
CreateShotA(1,0,0,20);
SetShotDataA(1,0,0,-90,0,0,1.5,RED21);
AddShot(i*0.5,0,1,r);
i+=30;
}
FireShot(0);
loop(1000000){yield;}
}
}
あそこの説明はほぼMainLoopで実行するやり方ばかりでタスクのことほとんど書いてないじゃないですか
- 856 :名前が無い程度の能力:2008/12/30(火) 20:13:55 ID:.5wBbcjg0
- >>855
これはタスクでの制御か講座で使われているカウンタ変数での制御かでの問題ではないよ。
このコードだとレーザー発射時点で弾の設置位置が全て決められている。
なんとなくポリグラフのような設置の挙動にしたい様子に思うのだけど
その場合弾の設置時点での自機の位置を参照して座標を求める必要があるんだ。
それを考えるとCreateLaserAからのAddShotはこの処理にはちょっと不向き。
- 857 :名前が無い程度の能力:2008/12/30(火) 22:54:07 ID:QsAFckSQO
- ポリグラフじゃなくてオータムスカイみたいな弾を撃ちたいんじゃないのかな、きっと
- 858 :名前が無い程度の能力:2008/12/31(水) 00:54:09 ID:y.A5dexM0
- >>855
俺なら、現在のレーザーの角度と角速度を引数とする、一定時間後消滅する特別仕様弾の関数を作って、
Objレーザー内からそれを呼び出してやるかなぁ。
そうしたら弾発生の例外(半径がでかいときは壁に沿う用に弾が発生する)処理や、
レーザーにグレイズしてるときの弾発生頻度の上昇とかも割と簡単に記述できると思うし。
まぁ本家の再現じゃなくてオリジナル(あるいはアレンジ)の弾幕を作ってるんなら話は別だけど。
- 859 :名前が無い程度の能力:2008/12/31(水) 01:01:42 ID:vyKYz67I0
- >>856
再現したい弾幕はポリグラフですが
弾の設置時点での自機の位置を参照して座標を求めるとは
どういうことですか?
- 860 :名前が無い程度の能力:2008/12/31(水) 01:11:54 ID:HSFCvVzY0
- >>855
AddShotもObjレーザーも使う必要が無い。
見掛け上レーザーから弾が出ているようにCreateShotAの座標指定するだけで十分。
- 861 :名前が無い程度の能力:2008/12/31(水) 01:12:07 ID:xKtiYp6s0
- とりあえずsageようか
- 862 :名前が無い程度の能力:2008/12/31(水) 01:24:19 ID:y.A5dexM0
- >>859
あのままだと、loop(1000){〜〜}の〜〜は一瞬(というか処理としては同時に等しい)で処理されてて、
rもそのループの間では同じ値(その瞬間の自機の位置を元とした値)のままなんだよね。
だから自機の動きを取り入れるためには>>858で書いたようにobjで処理するといいと思う。
まぁレーザーと弾を独立させて弾のほうでレーザーの現在位置(角度)を計算で求めるみたいな
若干無理矢理の方法もあるけど。
- 863 :名前が無い程度の能力:2008/12/31(水) 01:43:45 ID:HSFCvVzY0
- >>862
さりげなくひどいこと言われている気がするがObjレーザーの処理と
レーザーと弾を独立させる処理はやってること同じだぞ。
違いはObj_GetAngleでレーザー角度の追跡が簡単なくらいでしかない。
角速度一定の条件下ならObj使わない分独立処理の方が初心者に作りやすいと思うんだが。
- 864 :名前が無い程度の能力:2008/12/31(水) 02:17:57 ID:ZPq13CoQ0
- >>862と>>863の両方の手法でそれぞれ簡易ポリグラフ組んでみた、雑なのは勘弁。
>>862は>>863の言う通りObj_GetAngleでの追跡が楽、自分としては直感的に作れる。
速度変えたりウネウネ動かすならやはりObjは楽。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7412.txt
>>863はちょっと頭捻ったけどなんかスマートっぽいコードになった。
いざ作ってみるとそんなに強引ではない感じ。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7413.txt
自分が作ってどうすんだって感じがしてきた…(;´д`)
- 865 :名前が無い程度の能力:2008/12/31(水) 02:20:11 ID:ZPq13CoQ0
- うわ、ID変わっちゃったよ、ID:.5wBbcjg0です。
- 866 :名前が無い程度の能力:2008/12/31(水) 02:36:31 ID:vyKYz67I0
- >ポリグラフのことを教えてもらった人たち
確実に勉強不足ですね、また一から勉強しなおします。
864さんわざわざスクリプトを、組んでくださってありがとうございました。
- 867 :名前が無い程度の能力:2008/12/31(水) 03:03:02 ID:y.A5dexM0
- >>863
すまん、まったり書いてたもんで>>860とか見えてなかったんだ。。
個人的には、後から角速度の変化とかの調節をするたびにレーザー側と弾側で
それぞれ式を書き直すのがめんどくさいし、何よりその2つを連動させるというのが気疲れしそうで・・・
とにかく5wBbcjg0氏を賞賛せざるを得ない。
- 868 :名前が無い程度の能力:2008/12/31(水) 12:54:56 ID:bjHo9bIg0
- ダレモイナイ
ウpッテミルナライマノウチ
ttp://coolier.sytes.net:8080/th_up3/file/th3_7419.zip
- 869 :名前が無い程度の能力:2008/12/31(水) 14:53:24 ID:leUNV4920
- いくら考えたり作って見ても上手くいかなかったので聞いてみます
想起「鳥居つむじ風」
のように、弾を回転?させながら移動するにはどうしたらいいのでしょうか?
・・・
- 870 :名前が無い程度の能力:2008/12/31(水) 16:31:44 ID:ZPq13CoQ0
- >>869
中心となる基準点の座標の円周上を動くオブジェクト弾作るのが手っ取り早いかも?
SetShotで作れなくもないとは思うけど自分の頭じゃ手におえない。
- 871 :名前が無い程度の能力:2008/12/31(水) 19:54:42 ID:y.A5dexM0
- >>869
Obj_SetSpeedで速度を定めて、
Obj_SetAngleとObj_GetAngleで毎フレームに現在の角度に一定の角度を加算する。(角速度をつける)
これでとりあえず渦巻きは作れると思う。
でもってこれを、Obj_SetYとObj_GetYで下方向に動かしていってやればたぶんできる。
- 872 :名前がない程度の能力:2008/12/31(水) 23:07:23 ID:.JStGsHc0
- 3面までなんとかできたので、ぜひ遊んでみてください。(そしてご意見ご感想をもらえると有難いです)
東方紅月夜 ver0.60
ttp://coolier.sytes.net:8080/th_up3/file/th3_7424.zip
良いお年を!
- 873 :名前が無い程度の能力:2008/12/31(水) 23:38:30 ID:YDQIJGOM0
- if( a <= b && c >= d && e == f)
って感じの文書いたら強制終了するんだけど似たような症状の方います?
- 874 :名前が無い程度の能力:2009/01/01(木) 00:34:32 ID:DRaA3p1c0
- すいません>>873は勘違いでした
その後の式が問題だったようです
普通+=で代入しただけったのですが、何かの条件を満たすと落ちるみたいですね
条件はわかりません
- 875 :名前が無い程度の能力:2009/01/01(木) 11:16:26 ID:ESpyFcAI0
- >>870,>>871
ありがとうございます
道が開けたような気がします
- 876 :名前が無い程度の能力:2009/01/01(木) 19:12:04 ID:5BVACU/w0
- エフェクトオブジェクト練習作
ttp://coolier.sytes.net:8080/th_up3/file/th3_7447.lzh
ご意見、ご感想等お願いします。
それにしても地霊殿のボスのエフェクト(あのモヤモヤしたオーラみたいなの)ってどうやってるんだろう?
- 877 :名前が無い程度の能力:2009/01/01(木) 19:28:47 ID:iHbM3kFU0
- >>876
地霊殿のボス周囲の背景が歪むのはシェーダの一種、弾幕風でやるのはちょっと無理っぽいかな
DirectXと違ってピクセルシェーダみたいな深いところまで手が届かないからなぁ、あまり特殊な描画とかは基本的に出来ないと思う
- 878 :名前が無い程度の能力:2009/01/02(金) 09:25:38 ID:Y1St/spo0
- 具体的に特殊な描写って何だろう
地霊殿のボス周りの背景のゆがみ
地霊殿4面みたいなゆらゆら動く背景?
画面を揺らす?
- 879 :名前が無い程度の能力:2009/01/02(金) 09:38:31 ID:He3RTuU.0
- >>878
>>877の「ピクセルシェーダみたいな深いところまで手が届かない」の記述や
>>399辺りで語られている通り
「歪み」が弾幕風で再現困難な動作にあたる。
後者2つは座標移動だけでどうにでもなるよ。
- 880 :名前が無い程度の能力:2009/01/02(金) 15:27:06 ID:Kl7CeBMI0
- 妖精っぽいドット絵
ttp://coolier.sytes.net:8080/th_up3/file/th3_7466.png
こういう雑魚とか弾とかの素材って弾幕風で需要あるんだろうか?
誰の目に触れることも無くお蔵入りになって使い物にならなくなったものの残骸だけど。
弾幕風のスクリプトはいじったことないから詳しくないんだけど
あとは切り出す座標とかあれば弾幕風で使える物になる?
- 881 :名前が無い程度の能力:2009/01/02(金) 15:41:49 ID:ptpZEDsg0
- これだけで使える
すげえ
- 882 :名前が無い程度の能力:2009/01/02(金) 18:08:06 ID:He3RTuU.0
- >>880
超実用品。
多分これを使ってスクリプト組む人が多数出ると思うよ!
- 883 :名前が無い程度の能力:2009/01/02(金) 20:15:22 ID:SJ1L2v7A0
- >>880
味方も敵もドット少ないからあるだけでも需要抜群
いいぞ>>880、GJだ>>880、ナイスだ>>880
ところで、弾幕風以外のゲームでも使いたいんですがいいですか
- 884 :880:2009/01/02(金) 22:44:28 ID:Kl7CeBMI0
- >>881-883
どうもありがとう
妖精とか雑魚とか弾とかエフェクトとかお蔵入りになってた素材をまとめて置いておいた
ttp://coolier.sytes.net:8080/th_up3/file/th3_7474.lzh
細かいことは同梱のreadme.txtを参照。是非使ってやってください
弾幕風スクリプトは詳しくないので、フォーマットが使いにくいかもしれないけど、
使いやすく最適化して再配布なんかもOKなのでその辺は有志にお任せします
>>883
東方二次創作でフリー作品なら加工とかも自由にして使ってOK
もし有償だったら申し訳ないけど、もっと有能なドッターを雇ってあげて
- 885 :名前が無い程度の能力:2009/01/02(金) 22:47:51 ID:SJ1L2v7A0
- >>884
ありがとう!使わせてもらいます。
- 886 :名前が無い程度の能力:2009/01/02(金) 23:03:33 ID:9Qe.ooQA0
- これはすごい、早速使わせていただきます。
- 887 :名前が無い程度の能力:2009/01/03(土) 01:19:08 ID:G9QHd4EM0
- これが おくらいりだなんて とんでもない!
- 888 :名前が無い程度の能力:2009/01/03(土) 03:09:31 ID:2KFiRMCM0
- >>884
これは、仮に有償作品で使いたい場合でも交渉の余地も無いということでしょうか。
それとも、別途個人的にご連絡して、利用条件等を調整することで利用可能になる可能性はあるということでしょうか。
- 889 :名前が無い程度の能力:2009/01/03(土) 03:17:16 ID:PARHxvcs0
- >>876
これはいいエフェクト…弾幕もあいまって水が特に素敵だと感じました。
落雷は広く枝分かれさせるともっとそれっぽくなるような。
>>880
そういえば大型妖精のドット絵っていままで出てなかったなあ…
ありがたく頂戴いたします。
- 890 :名前が無い程度の能力:2009/01/03(土) 11:39:18 ID:IG8w2m120
- >>884
なにこの超絶クオリティ……全力で使わせていただきます!
- 891 :名前が無い程度の能力:2009/01/03(土) 11:58:53 ID:B9SpCM2w0
- >>884
ダウンロードして即使用余裕でした
とにかくGJ!
- 892 :名前が無い程度の能力:2009/01/03(土) 15:22:57 ID:52WiLX.M0
- >>884
どうしてこんなすごいものをお蔵入りさせたんだ!!!w
- 893 :名前が無い程度の能力:2009/01/03(土) 15:59:26 ID:9NBDedDg0
- >>884
これは神素材・・・・使わせて頂きます。
- 894 :880:2009/01/03(土) 20:17:21 ID:8rCc1Xts0
- たくさん反応いただけて嬉しいです。
>>888
すみませんが、あえて連絡先を伏せ、匿名として公開させていただきました。
ゆえに、個別に交渉はできません(以後はただの名無しになります)し、
この素材集については将来的にも有償利用できるようにするつもりはありません。
あまりに模写すぎてオリジナリティに欠けているので、
有償作品に使うとトラブルの原因になるのではないかと個人的には思っています。
もちろん考え方は人それぞれですが、自分はそう思うので、無償作品の範囲内ということでお願いします。
- 895 :名前が無い程度の能力:2009/01/03(土) 23:32:54 ID:4KeGOSM60
- >>884
うわ・・・マジでありがとうございます!
特に水と火の奴を探してました!
- 896 :名前が無い程度の能力:2009/01/09(金) 22:35:01 ID:kXA4S7dc0
- 復☆活
- 897 :名前が無い程度の能力:2009/01/10(土) 14:59:26 ID:6f8EoqUg0
- 普通に過去ログになったもんだと思ってたよ!
- 898 :名前が無い程度の能力:2009/01/10(土) 20:28:39 ID:BXq/N5/20
- なんか良く分からないけど、ageたら復活したよ!!!
- 899 :名前が無い程度の能力:2009/01/10(土) 21:33:16 ID:5RQGKw92O
- やあwwww
復活したのかwwww
- 900 :名前が無い程度の能力:2009/01/10(土) 23:02:36 ID:wdXa7UXg0
- スコアを100億以上に拡張できるいい方法ってないですか?
- 901 :名前が無い程度の能力:2009/01/10(土) 23:15:08 ID:3CCVqNVk0
- >>900
点数が一定以上になったら、別の変数に格納しておくという手があります。
但しその場合、自分で得点を表示させる必要があります。
SetDefaultStatusVisible(false) は忘れてはいけません。
let ScoreEx = 0;
while(GetScore >= 100000000){
ScoreEx++;
AddScore(-100000000);
}
- 902 :名前が無い程度の能力:2009/01/11(日) 00:10:40 ID:nuKnEKvE0
- >>900
約20億以上になるとフローするというか何と言うか正常に値を記録できなくなるからなぁ
だから配列でも準備して1000万単位で値を区切ったり位毎に区切ったりすればいいと思うよ!
既存のスクリプトでも100億以上のスコアが記録できるのが出てるから参考に見るといいよ
ちなみに自分は前者の1000万区切りで組んで微妙に後悔してる、管理しづらいよー
- 903 :名前が無い程度の能力:2009/01/11(日) 01:33:49 ID:xtMWucgQ0
- けーね先生の通常みたいに低速の時だけ弾の挙動を変えようとしたけど
どうにも上手くいきません…
どこが間違ってるかご指摘よろしくお願いします
task Shot {
let way = 10;
let dir = 0;
let span = 360 / way;
let angle = dir - (way - 1) / 2 * span;
let type = 20;
let v = 3;
loop {
loop(way) {
while(GetKeyState(VK_SLOWMOVE) == KEY_HOLD){
type = 22;
v = 2;
yield;
}
while(GetKeyState(VK_SLOWMOVE) == KEY_FREE){
type = 20;
v = 3;
yield;
}
CreateShot01(GetX, GetY, v, angle, type, 0);
angle += span;
}
wait(15);
}
}
ていうかモロけーね先生の通常なんですけどね
- 904 :名前が無い程度の能力:2009/01/11(日) 01:36:52 ID:xtMWucgQ0
- あ、通常の微アレンジ
- 905 :名前が無い程度の能力:2009/01/11(日) 02:05:46 ID:grd9jtEo0
- whileだとキーを押してる間その中を回り続けるからループを抜けたときの1回しか弾が出ない。
whileをifにしてその中のyieldをのぞけばうまくいくよ。
- 906 :名前が無い程度の能力:2009/01/11(日) 02:07:38 ID:nuKnEKvE0
- 先を越されたー
loop
{
if(GetKeyState(VK_SLOWMOVE)==KEY_HOLD){type=BLUE01;v=2;}else{type=RED01;v=3;}
loop(way){CreateShot01(GetX,GetY,v,angle,type,0);angle+=span;}
loop(15){yield;}
}
- 907 :名前が無い程度の能力:2009/01/11(日) 02:10:07 ID:t.PraQJ.0
- >>903
慧音通常ってことは全方位10WAYじゃなくて10方向に順番に撃ちたいんだよね。
とりあえず、whileだと条件満たすまで{}内をループしてしまうからifを使う。
現状だと低速→高速としないと弾を撃たないし、撃っても常に同じ挙動になってしまう。
あとはwait(15);の位置かな。
(前略)
loop {
loop(way) {
if(GetKeyState(VK_SLOWMOVE) == KEY_HOLD || GetKeyState(VK_SLOWMOVE) == KEY_PUSH){
type = 22;
v = 2;
}else{//低速キー押していない時の処理
type = 20;
v = 3;
}
CreateShot01(GetX, GetY, v, angle, type, 0);
angle += span;
wait(15);
}
angle = dir - (way - 1) / 2 * span;//1周したのでangleを初期化。1回転するのでなくてもいい。
}
}
余談だがこんな書き方もできる。こっちは10WAYを撃つ場合。
(前略)
loop {
let state= (GetKeyState(VK_SLOWMOVE) == KEY_HOLD || GetKeyState(VK_SLOWMOVE) == KEY_PUSH);
//↑は()の中の条件が満たされていればtrue、そうでなければfalseを返す。
type = [20,22][state];//stateがtrueなら最初の[]の右側の値を取る。
v = [3,2][state];//上に同じ
loop(way) {//同時発射なのでv,angleの値を取り直す必要はない。
CreateShot01(GetX, GetY, v, angle, type, 0);
angle += span;
}
wait(15);
angle = dir - (way - 1) / 2 * span;//1周したのでangleを初期化。なくてもいい。
}
}
- 908 :名前が無い程度の能力:2009/01/11(日) 02:13:33 ID:t.PraQJ.0
- 先を越された上に書きこんでから要件が慧音ボスの通常と気がつく罠。
何でか中ボス慧音の方だと思い込んでたぜorz
- 909 :名前が無い程度の能力:2009/01/11(日) 12:40:57 ID:18I6EqQk0
- GetPlayerMoveState(引数:0、返り値:real型)
自機の移動状態を取得します
低速移動中:MOVE_SLOW
通常移動中;MOVE_NORMAL
>>903 こんなのもあるよ
- 910 :名前が無い程度の能力:2009/01/11(日) 21:03:09 ID:xtMWucgQ0
- >>905-909
ありがとうございます!
1時間それだけで格闘してたので…
前ifでやって失敗したのはyieldの所為だったか…
>>909
気づきませんでした…
教えていただき感謝です
- 911 :名前が無い程度の能力:2009/01/12(月) 14:03:35 ID:gozCdfiw0
- >>902
何か参考になりそうなスクリプトを提示してもらえませんか?
- 912 :名前が無い程度の能力:2009/01/12(月) 23:01:12 ID:xMZXlb5U0
- >>911
さすがにそれは提示=答えにならないか。
コード書きの腕は定石と発想だから、発想磨くためにがんばれw
相当がんばってダメだったら、
試作品公開すればみんな教えてくれると思うぞ。
とりあえずお手軽な方法としては、
最低の点数を1点にすれば、20億が2000億に化けると思うけど、どうだろう。
それが嫌なら数字を『切り分けて』、たとえば1億を1点にすればいい。
変数はX桁書ける紙だ。X*X/2桁書きたければ、糊と鋏を使いたくならないか?
やったことないけど。
私は数値管理じゃそのどちらも取らず、別の切り分け方をするから。
真っ当にやってると(内部の)数値が指数的に増えて心臓によくない。
- 913 :名前が無い程度の能力:2009/01/13(火) 07:38:28 ID:5HGyN6joO
- age
- 914 :名前が無い程度の能力:2009/01/13(火) 16:53:09 ID:gqRtUR0M0
- そもそも何千億とかそれ以上とかの点数計算が必要なことにびっくり
STGってすげーな
- 915 :名前が無い程度の能力:2009/01/13(火) 20:23:13 ID:2QJrA8ko0
- >>914
インフレの代名詞どうぞ
つ[怒首領蜂大復活・ギガウィング]
- 916 :名前が無い程度の能力:2009/01/13(火) 21:10:57 ID:4zovQXK20
- >>880の素材について
1.そのまま素材として転載するときは URLなど出所を表示をさせる
2.スクリプト配布など組み込んで使う場合は URLなどの出所を書かなくてよい
ってこと?
- 917 :名前が無い程度の能力:2009/01/13(火) 21:31:16 ID:AUaRn2rw0
- >>916
そう。
このドット絵は1から俺が作ったんだ!と主張して素材として再配布したら×ってこと
自分で作ったゲーム中で使用するだけならどうでもいい
もちろん、スクリプト素材と一緒に同梱してまとめて素材として扱いたい場合は、明記が必要だ
- 918 :名前が無い程度の能力:2009/01/13(火) 23:36:54 ID:Mf6jmKw.0
- 製作途中で困ったので質問させていただきます
CreateLaserAの設置型レーザーからAddShotを使いCreateLaser01の射出型レーザーを撃ちたいと思います
AddShotにいれるIDはCreateLaserAの場合設定したIDを入れればいいと思うのですが
CreateLaser01だとどの部分がIDにあたるのですか?
IDを付け加えるならどのようにすればいいか教えていただいたら幸いです
駄文乱文失礼しました
- 919 :名前が無い程度の能力:2009/01/14(水) 01:43:55 ID:w1y0aWXo0
- うん、撃てないんだ。すまない。
- 920 :名前が無い程度の能力:2009/01/14(水) 11:18:56 ID:pdL2o63k0
- >>918のを実現させるには
設置型レーザーをObj弾の設置型レーザーにする必要があるはず
- 921 :名前が無い程度の能力:2009/01/14(水) 16:41:49 ID:i1kt4PIU0
- mjsk・・・orz
ありがとうございました
obj弾よく分かんないけど覚えるしかないな
- 922 :名前が無い程度の能力:2009/01/14(水) 18:37:48 ID:V1lJ9Gkw0
- 久々に弾幕風触ったな・・・
適当に作りました。反省も後悔もしてない。
いや、後悔は少しあるかもしれない。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7674.zip
- 923 :名前が無い程度の能力:2009/01/15(木) 21:47:48 ID:JvtaPGWg0
- 1面の難易度ってどんな感じにすればいいんだかよくわからない
- 924 :名前が無い程度の能力:2009/01/15(木) 22:20:49 ID:JS1nbdRA0
- >>923
チョン避けだけでボスまで辿り着く位にすれば
少なくとも理不尽とは言われないかもしれない
- 925 :名前が無い程度の能力:2009/01/16(金) 00:00:26 ID:6CC1a8u20
- 地霊殿1面ヒマワリ妖精みたいにぐにゃぐにゃの軌道の弾を作りたくて
CreateShotAの角速度のところにsin(a)とやってみたんですけど
aの値が変化できず・・・loop内でa++;にしても面白い軌道のnwayができるだけ…
どうすればよいか教えてください
- 926 :名前が無い程度の能力:2009/01/16(金) 02:12:12 ID:za4/eicI0
- >>925
自分は昔こんな感じで作ってたな
CreateShotA(0, x, y, delay);
SetShotDataA(0, 0, speed, angle + shift * interval, 0, 0, 0, color);
frame = 5;
loop(n) {
SetShotDataA(0, frame, speed, NULL, -shift, 0, 0, color);
SetShotDataA(0, frame + interval * 2, speed, NULL, 0, 0, 0, color);
SetShotDataA(0, frame + interval * 3, speed, NULL, shift, 0, 0, color);
SetShotDataA(0, frame + interval * 5, speed, NULL, 0, 0, 0, color);
frame += interval * 6;
}
FireShot(0);
もっとうまいやり方あるかも知らんが、これでぐにゃぐにゃになってくれる
- 927 :名前が無い程度の能力:2009/01/16(金) 08:29:54 ID:aW0JLlFQ0
- >>925
obj弾で毎フレーム角度を変えるという手もあり。ちょっと重いかも知れないけど、応用は利く。
- 928 :名前が無い程度の能力:2009/01/16(金) 22:27:56 ID:9YgV1V/s0
- すみません、Common系の関数なんですが、スクリプト間で値をやりとりする、という意味はわかります。
しかし、使い方がわかりません。
Set〜で値を登録して、別スクリプト内でGet〜で呼び出す、ということなのでしょうか。
- 929 :名前が無い程度の能力:2009/01/16(金) 22:32:12 ID:uxFu3GOI0
- >>928
大体そんな感じ。
前スレで出てたCommondataに関するサンプル。
ttp://coolier.sytes.net:8080/th_up3/file/th3_4715.zip
- 930 :928:2009/01/16(金) 23:27:32 ID:9YgV1V/s0
- >>929
ありがとうございます。
値って座標なども登録できますよね?
- 931 :名前が無い程度の能力:2009/01/16(金) 23:34:59 ID:uxFu3GOI0
- >>930
うん、配列で値入れるなり二つCommonData作るなりすれば
x、y座標受け渡せるよ。
- 932 :名前が無い程度の能力:2009/01/17(土) 00:01:20 ID:t90fihUs0
- >>926 >>927
ありがとうございます
速さとか弾の種類なんかにも応用できそうですね
- 933 :名前が無い程度の能力:2009/01/17(土) 10:32:50 ID:Pm18Wgo.0
- >>931
ありがとうございます。頑張ってみます。
- 934 :名前が無い程度の能力:2009/01/17(土) 17:41:32 ID:IbkWBBuE0
- nm5867700を
どうぞ素材として
- 935 :名前が無い程度の能力:2009/01/17(土) 17:51:33 ID:5UWJ9qzA0
- >>934
元音楽ファイルも上げたほうがよい気がしなくもない
- 936 :名前が無い程度の能力:2009/01/17(土) 17:57:23 ID:EzaeyF5YO
- >>935 確かに某動画では荒れるしよくないな
ちょま
- 937 :名前が無い程度の能力:2009/01/17(土) 17:58:36 ID:5UWJ9qzA0
- >>936
いや別に荒れはせんだろう、厨やアンチでも湧いてなければ
元音楽ファイルもあったほうがいいのは音質とかそういう意味でさ
- 938 :名前が無い程度の能力:2009/01/17(土) 18:07:12 ID:l4j0Diiw0
- それはさておき、タイトル曲ってどう使えばいいんだ。
- 939 :名前が無い程度の能力:2009/01/17(土) 19:03:28 ID:uJLJyVSg0
- タイトル画面を…作ればいいんじゃないかな
しかしタイトル画面って見栄えするけどリスタートした時が煩わしくて一長一短だよね
- 940 :名前が無い程度の能力:2009/01/17(土) 21:02:15 ID:ANEkUiAk0
- 久々に弾幕風でスクリプト作成。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7711.zip
妹様で単発四枚。
シンプルなものが作れなくなってるなあ。
意見や感想などいただければ幸いです。
- 941 :名前が無い程度の能力:2009/01/17(土) 21:26:31 ID:Pm18Wgo.0
- レーザーに当たったら軌道変化して自機狙いになる弾を作っていたのですが、全く自機を狙ってくれません。
一目でわかる間違い等があったら教えていただきたいのですが。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7712.txt
手間を取らせてしまってすみません。
- 942 :名前が無い程度の能力:2009/01/17(土) 21:36:14 ID:X0aZWDlc0
- >>941
GetAngleToPlayerはスクリプト本体から自機への角度を取得する関数。
内部的にはatan2(GetPlayerY-GetY,GetPlayerX-GetX)と同じ。
だからオブジェクト弾でこの関数を使ってもボスから見た自機の方向にしか弾が飛ばない。
オブジェクト弾から見た自機方向角度にしたければatan2(GetPlayerY-Obj_GetY(obj),GetPlayerX-Obj_GetX(obj))
にする必要がある。
- 943 :名前が無い程度の能力:2009/01/17(土) 22:18:51 ID:EzaeyF5YO
- GetAngleToPlayerは、ボスから自機への角度であって、発射口から自機への角度じゃないんだよな
だから使い魔や特殊弾からGetAngleToPlayerで撃つとずれるんだよな
初心者の頃誰でもやった間違いなんだろうなあ…あの頃が懐かしい…
- 944 :名前が無い程度の能力:2009/01/17(土) 23:12:49 ID:Pm18Wgo.0
- >>942-943
ヘルプの「オブジェクトから自機への角度」ってそういうことか…。わかり難い…。
ありがとうございました。これで完成するかな?
てか、CreateShot01でもDirectionType変更させてくれればいいのに。
- 945 :名前が無い程度の能力:2009/01/17(土) 23:29:38 ID:Pm18Wgo.0
- ……すみません、上手くいきません。
もう俺の手に負えんorz
1回スクリプト全部晒してみます。言葉では説明しにくいし…。
ttp://coolier.sytes.net:8080/th_up3/file/th3_7715.zip
- 946 :名前が無い程度の能力:2009/01/18(日) 11:04:48 ID:/NysTDw20
- >>945
取り敢えず、 script_sprt_border.txt の 200 行目に SetShotDirectionType(ABSOLUTE) を挿入すれば意図した(と思われる)挙動になります。
他で問題が出るかもしれませんが、そこまでは見ていません。
- 947 :名前が無い程度の能力:2009/01/18(日) 11:40:27 ID:ixD12gpM0
- DirectionType使えるのかよ・・・。
ヘルプもう少しわかりやすくしてくれorz
助かりました。ありがとうございます。
しかし、これは結構無理ゲー…。
- 948 :名前が無い程度の能力:2009/01/18(日) 12:56:52 ID:XPd3DY6gO
- ふと思ったけどコンテストに応募せずにスレへ投下する人多いね
いや別にいいんだけど、折角テーマ自由なんだからちょっと盛り上げてあげて欲しいなと思ったり
- 949 :名前が無い程度の能力:2009/01/18(日) 14:58:41 ID:adoor/2g0
- >>940
私からすれば十分シンプルですよ。
レッドブラッドオブデッドのクロウ部分と反転黒赤弾がいい感じでした。
でも避けられない・・・。
- 950 :名前が無い程度の能力:2009/01/18(日) 16:21:26 ID:rvv5.vIoO
- テーマ「センター試験」
- 951 :名前が無い程度の能力:2009/01/18(日) 16:51:43 ID:qOj2Bjdo0
- >>950を見て
絶縁体「リスニング機器」
ってのを思いついたがどんな弾幕か解らん
- 952 :名前が無い程度の能力:2009/01/18(日) 17:11:09 ID:rvv5.vIoO
- 曲が勝手にフェードアウトして画面が暗くなる
オワタ
- 953 :名前が無い程度の能力:2009/01/18(日) 20:02:35 ID:YF0CFwL20
- >>950
絶望「ケアレスミス」
- 954 :名前が無い程度の能力:2009/01/18(日) 20:13:26 ID:4J19ls3E0
- 問題に回答がずれたまま答えてしまったこととかを
マーク型の弾で表現とな
やりたくねぇ
- 955 :名前が無い程度の能力:2009/01/18(日) 20:20:50 ID:hIJlQkok0
- まずお手本の弾幕が撃たれる
↓
次にお手本の弾幕と同じようでいてどっかがずれてる弾幕が撃たれる
こうなるのか >絶望「ケアレスミス」
- 956 :名前が無い程度の能力:2009/01/18(日) 20:31:19 ID:cp3Zlutc0
- 事故死でも
- 957 :名前が無い程度の能力:2009/01/18(日) 20:36:23 ID:z/dW71gY0
- >>950
9科目それぞれにちなんだ弾幕を展開してみるとかどうでしょう
- 958 :名前が無い程度の能力:2009/01/18(日) 23:15:34 ID:adoor/2g0
- ミレイ氏が試験前にこのスレを見ないことを願う
- 959 :名前が無い程度の能力:2009/01/18(日) 23:41:37 ID:YF0CFwL20
- >>957
国語だと有名小説をイメージした弾幕が数秒ずつ流れて…
って耐久になりそうだな
因みにもう1教科あれば教科だけでEXが作れる
- 960 :名前が無い程度の能力:2009/01/19(月) 00:25:09 ID:pmEhHwcs0
- >>959
十枚目を二次試験にして、ラストスペルが採点とか。
- 961 :ミレイ ◆orK.MILLAY:2009/01/19(月) 11:44:33 ID:WB6a5mRI0
- ご安心下さい、可能な限りの点数は取って参りました。
1月22日より、第15回弾幕風コンテストのお題候補の募集を始めますので、皆様よろしくお願いします。
- 962 :名前が無い程度の能力:2009/01/19(月) 19:27:21 ID:rKhkkabQO
- ミレイ氏表るwwwwww
一足早く
お題「時計」
- 963 :名前が無い程度の能力:2009/01/19(月) 19:32:58 ID:hnw1TvBg0
- お題「トラウマ」
- 964 :名前が無い程度の能力:2009/01/19(月) 20:10:09 ID:AVqsvcBw0
- お題「おだい」で
- 965 :名前が無い程度の能力:2009/01/19(月) 20:17:22 ID:AzR5b0IQ0
- 22日からじゃないのかwww
だが流れに乗って
お題「静」
- 966 :名前が無い程度の能力:2009/01/19(月) 20:56:16 ID:kdsSaYcI0
- お題か……「無理難題」
- 967 :名前が無い程度の天候:2009/01/19(月) 21:23:32 ID:cY.fSBnk0
- お題「詐欺」
- 968 :名前が無い程度の能力:2009/01/19(月) 21:56:06 ID:ABojNsvk0
- ここで敢えて流れを叩き切ってみる。
>>649氏の画像素材を使ってお空自機つくってみました。
↓
自機スクリプト 霊烏路 空 爆符
ttp://coolier.sytes.net:8080/th_up3/file/th3_7738.lzh
- 969 :前スレ330:2009/01/21(水) 01:08:44 ID:VuUzJAQw0
- お空3機目ですって!?
ってか、相変わらずに間が空いてしまって… orz
>>968
一部テキストファイルが同梱されていないようです。
…と、>>603で投下したのが一通り完成?したので置いときます。
Ex美鈴ステージ風味〜道中ボスもいるよ〜
ttp://coolier.sytes.net:8080/th_up3/file/th3_7749.zip
- 970 :968:2009/01/21(水) 01:21:58 ID:BB0k4zCc0
- >>969
そんな馬鹿な、と落として動作確認してみましたがエラーメッセージが出ることもなく普通に動きましたよ。
ダウンロード失敗している予感が。
- 971 :前スレ330:2009/01/21(水) 13:46:01 ID:JrXVK2tc0
- >>970
再度落としたら無事使用できました。ご迷惑をおかけしてすみません。
>自機感想
他のお空自機と比較すると、大人しめな印象を受けました。ロックオン機能はかなり画期的。
被弾時のラストワード機能は、Exボスや6面ボスの最終スペル(要するにボムバリア機能)相手だと、少しやりずらそうな感じもしました。
- 972 :名前が無い程度の能力:2009/01/21(水) 18:12:53 ID:3vfp3pp60
- >>968
649です。なんだかもの凄くクオリティ高くなって帰ってきたわねうつほちゃん…
自分で作っといて使い道のわからんかった画像なんかも有効に活用してて驚きましt
これが発想力の違いという奴か……(ヽ´ω`)GJ!
>>969
プレイしました。登竜門の後半弾速早くて一番むずいような
全体の感想としては弾幕や演出が以前よりも綺麗になってて美味しかったです。
- 973 :名前が無い程度の能力:2009/01/21(水) 23:31:00 ID:BB0k4zCc0
- >>971,972
自機の感想ありがとうございます。画像の使い道にとネタ出しにおよそひと月悩んだ甲斐がありました。
ラストワードはまあ、抱え落ちした時の悔しさを少しだけ誤魔化すものと思って頂ければ。
>>969
とりあえず、プレイしたので感想をいつものように。
・会話イベント、道中、あとデフォ以外の効果音の実装と前回から大きく飛躍しましたね。
次回作でどういう進化を遂げるのか楽しみです。
・さりげなくデフォ自機2人とそれ以外の計3種の会話イベントを実装してあるのも良い感じでした。
・ただ、会話のテキスト表示は道中進行でBGMと同期させるとか特別な理由が無い限り、
固定時間待ちのTextOutBでなくキー入力で飛ばせるTextOutAを使った方が良いかと。
攻略のために何度もプレイしているとテキスト飛ばせなくてうぎぎ、となることが。
・以前連続再生版で指摘した点も概ね修正されていましたね。
通常2の密度がまだ高いかなーと思ったら中避け出来るようになっていて そうきたか!と驚いていました。
・ただ、スペル中にボムを使った時のボムバリア処理にまだ怪しい点が。
タイミングによってはボム終了後しばらくダメージが殆ど通らなくなることがありました。
・中ボスメイド長のスペル背景が少し明るいかも。赤ナイフが少し見難い気がしました。
・これは完全に個人的な好みの問題ですが、道中のザコはもっとサクサク倒せると良いかも。
特に攻撃範囲が狭いキャラだと倒せなかったり倒さないで避けに徹した方が安全だったりと気分は耐久スペルでした。
中盤のクナイ弾ザコみたいなのをもっと配置して欲しかったです。
- 974 :弾幕を空想する程度の能力:2009/01/22(木) 00:15:05 ID:Ao3yTtFU0
- 弾幕風コンテストのお題なんですが
お題「妄想」でボクスペで作られたスペルを
実現してくれないものでしょうか
名前だけのやつも空想して作って貰えればと思います
俺設定歓迎「ボクの考えたスペルカード」
ttp://jbbs.livedoor.jp/computer/6306/storage/1096828056.html
俺設定歓迎「ボクの考えたスペルカード」その2
ttp://jbbs.livedoor.jp/computer/6306/storage/1156557244.html
俺設定歓迎「ボクの考えたスペルカード」その3
ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/6306/1206968903/l50
長文失礼しました
- 975 :名前が無い程度の能力:2009/01/22(木) 00:56:08 ID:goJysU2U0
- >>969
とりあえずレザマリでやったら雑魚がほとんど倒せなくて泣いた
結局ヘヴンで撃沈……でもまあ初見だしこんなもんかな?
いい感じで1upが出てきて好印象でした
あと会話イベントが凝ってるのは結構楽しいです
導入したのは大妖精のスクリプトからでしたっけ? あれ、レミリアだったかな?
(記憶に残ってるのは残機で内容が変化したり、途中で誰か呼んだり)
まあとにかく前スレの方から比べると成長してるのがわかるw
頑張って下さい!
- 976 :名前が無い程度の能力:2009/01/22(木) 23:40:19 ID:cIFjKNKU0
- コンテスト投稿作品「境界幻想」の作者です。
投稿文中に評価は単純加算云々とありますが、正しくは平均です。
大丈夫だとは思いますが、お間違えになりませんように。
毎度毎度申し訳ありません。
- 977 :名前が無い程度の能力:2009/01/24(土) 14:29:36 ID:fHElzK4s0
- 質問です
1.ニコにUP(UPロダの場所を書く)→クーリエにUP
2.ニコにUP(UPロダの場所を書かない)→クーリエにUP
3.クーリエにUP→ニコにUP(UPロダの場所を書く)
4.クーリエにUP→ニコにUP(UPロダの場所を書かない)
どれもだめなのかなー?
前に2の方法でUPしたことがあるのだけど、今まで聞かなかったので改めて
>ニコニコ動画関連や、ニコニコ動画で公開するような物はUPしないで下さい。
とは書いてるのだけど・・・
- 978 :名前が無い程度の能力:2009/01/24(土) 14:50:07 ID:6IvPjARc0
- 書いてあるんだから全部駄目だろ常識的に考えて
- 979 :名前が無い程度の能力:2009/01/24(土) 14:52:54 ID:tPhGiSt60
- どれもこれも関連ならダメだろ・・・
- 980 :名前が無い程度の能力:2009/01/24(土) 14:55:38 ID:9sNGPbBA0
- >>977
どれもダメですよ
コンテストお題 「星」「色」
- 981 :976:2009/01/24(土) 17:41:34 ID:DFo6S2nc0
- わがまま言ってもあれだから
ニコにUPして、クーリエ以外の一般のUPロダを使うよ・・・
東方弾幕風関連でクーリエに来た人にも
見てもらいたかったけどね・・・・
- 982 :名前が無い程度の能力:2009/01/24(土) 19:01:33 ID:2BFZcVeg0
- ニコ関連だとニコ厨とアンチを装った荒らしが寄ってくるから仕方ない
いくらニコ好きやニコ嫌いでもルールなら守らんとな
- 983 :名前なんていらない程度の能力:2009/01/24(土) 21:38:06 ID:txYpdPQE0
- 質問なんですが
空みたいに真ん中に集まっていくのって
どうやればいいんですか?
- 984 :名前が無い程度の能力:2009/01/24(土) 23:06:12 ID:DtVNjf3Y0
- 何が言いたいのか分からなくもないが
違ってたら面倒だから答える気にはならん
何をどうしたいのか、どこがどう分からないのか
本当に聞きたいなら詳しく書け
いくらなんでもテキトーすぎる
- 985 :名前なんていらない程度の能力:2009/01/24(土) 23:17:10 ID:txYpdPQE0
- えぇっと
実際にやったことはないんでよくわからんのですが
空のスペルの弾が真ん中に集まっていくやつ
あの行って戻ってくる
ていえばいいのか
あの弾幕をつくりたいんですが
弾を出した後に戻すにはどうすればいいでしょうか
- 986 :名前が無い程度の能力:2009/01/25(日) 00:13:12 ID:pOPWqoUE0
- だめだこりゃ
- 987 :名前が無い程度の能力:2009/01/25(日) 00:34:11 ID:7znsEVuo0
- >>985
君さぁ、以前から同じこと言われ続けてるのに反省も改善もしないのね
正直学習しない人間に教えるだけ時間の無駄なんだわ
- 988 :名前が無い程度の能力:2009/01/25(日) 00:45:33 ID:qMH6NDLI0
- 人工太陽作りたいんだったら、弾の座標から敵本体への角度を取得してやればいいんでねーの
CreateShot01の関数に、
敵のX座標=x
敵のY座標=y
半径=r
角度=a
(x+r*cos(a),y+r*sin(a),速度,atan2(y+r*sin(a)-y,x+r*cos(a)-x),画像,遅延)
これに速度の緩急つけたかったらCreataShotA系、もしくはオブジェクト弾を使う
後はaとrを一定フレームで変化させれば弾だけなら完成
ただしあまりrを増加させ過ぎると画面外で消えて弾が飛んでこなくなるので注意
・・・人工太陽だよね? 人工太陽のことだよね?
- 989 :名前が無い程度の能力:2009/01/25(日) 00:49:18 ID:XYtdF6RM0
- 人工太陽のことかね?
弾幕風初心者だから詳しいことは言えんが、大弾は画面端から発生させた後、atan2使って空狙い弾にすればいいのかな?
小弾は・・・まぁ、適当に。
つか、コピー弾幕は本家を実際にやってみて、しっかりと挙動を理解してから作るものではなかろうか。
あと説明分かりにくすぎ。せめてスペル名くらい覚えていてくれ。
- 990 :名前が無い程度の能力:2009/01/25(日) 03:36:50 ID:D.kOwo5s0
- おまえら釣られすぎ、とでも言えばいいんだろうか
最近は小学生でももっとまともな質問するぞ
ところで次スレの季節ですね
- 991 :名前が無い程度の能力:2009/01/25(日) 09:20:09 ID:M6S5d5kYO
- 人気投票結果も出たころに残り9か
ここは誰が次スレ立てるんだっけ?
- 992 :名前が無い程度の能力:2009/01/25(日) 14:33:50 ID:BHWgqMcs0
- 特に誰とも決まってはいないよ。
基本的に代表者なんていないし誰も名乗らない。
この流れだと1000までそう時間もかからなそうだし立ててくるよ
- 993 :名前が無い程度の能力:2009/01/25(日) 14:57:21 ID:BHWgqMcs0
- スレ立て完了
貴方が作る東方STG〜東方弾幕風 9
ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/41116/1232861910/
・テンプレ変更部分
<変更前>
東方弾幕風コンテスト会場
ttp://ratius55.hp.infoseek.co.jp/
<変更後>
東方弾幕風コンテスト会場
ttp://ratius55.hp.infoseek.co.jp/dnh/
- 994 :名前が無い程度の能力:2009/01/25(日) 15:34:46 ID:uAWyV2xo0
- スレ立て乙です。
お題候補:「日常」
- 995 :名前が無い程度の能力:2009/01/25(日) 17:31:38 ID:w0eWxC4Y0
- 埋めついでに
お題「ゆらゆら」
ていうかこれって「寒気」とかだとキャラ限定されちゃいそうだけど
そういうのっていいの?
- 996 :前スレ330:2009/01/25(日) 20:21:02 ID:g5ybRr5Q0
- スレ立て乙ですー。ってことで埋め埋め。
>Ex美鈴
まとめてレス、プレイしてくださってありがとうございますー。
とりあえずはスペル方面は特に大きな問題はなさそうですな。ボムバリア処理は……まだ解除するまでに別のスプリクトが割り込んで無敵延長されてるのか……な?
色々見つつ、今度は道中を色々と調整せねば。
大妖精ステージとはまたナツカシイ響きが……
会話およびステージ実装はそれが初めてで、弾幕自体はRKS風が初。
もはやRKS風で誇れるのは自機くらいで、残りはほぼ黒歴史っぽい存在になってます。
- 997 :名前が無い程度の能力:2009/01/25(日) 23:04:33 ID:qMH6NDLI0
- >>995
「寒気」を「さむけ」と読めばまた変わってこないかな
幽霊なあの人とか伝染病なあの人とか
- 998 :名前が無い程度の能力:2009/01/25(日) 23:39:58 ID:M6S5d5kYO
- お題「植物」
- 999 :名前が無い程度の能力:2009/01/25(日) 23:40:31 ID:M6S5d5kYO
- お題「植物」
- 1000 :名前が無い程度の能力:2009/01/25(日) 23:41:47 ID:M6S5d5kYO
- ,ヘ/L──- 、
Lニ)r_」=== イ
,ヘ、i ノノλノハノヘ
,' `(ハリ ゜ ヮ゜ノi) ',
.i >〈(つ,i!と) i
vヘγk´_/___i,ゝヘノ
`゛r_,ィ_ァ゛´
1000を取る運命
それもそのはず
なぜならそれは…
■掲示板に戻る■ ■過去ログ倉庫一覧■