したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | まとめる | |

貴方が作る東方STG〜東方弾幕風【2スレ目】

1 名無し妖精 :2017/03/22(水) 00:08:14 ID:fJyUS.dg0
Cライクなスクリプトを駆使して東方project風味のボスキャラやスペルカード、
果ては大規模ステージまで作れてしまうフリーウェア「東方弾幕風」の総合スレッドです。

独創的なオリジナル弾幕の公開もあり、どこかで見たようなコピー弾幕の公開もあり
それらの攻略、レビュー、感想もあり、スクリプトについての質問や相談などもあり
とにかく弾幕風関連の話題は何でもありのスレッドです。

現在、こちらのスレは主に製作者サイドの視点で進行しています。関連スレが
プレイヤーサイド視点ですので、攻略、ネタバレ、考察などについてはそちらも参照してみて下さい。

■関連サイト
東方弾幕風本体公開サイト と〜ほ〜GC
 ttp://www.geocities.co.jp/SiliconValley-Oakland/9951/
東方弾幕風Wiki(三代目)
 ttp://danmakufu.wiki.fc2.com/
上海アリス幻樂団創作物の二次創作・使用関連ページ
 ttp://www.geocities.co.jp/Playtown-Yoyo/1736/t-081.html
東方弾幕風コンテスト会場(跡地)
 ttp://www22.atpages.jp/ratius55/
東方弾幕風 スクリプト紹介所
 ttp://danmakuhu.es.land.to/cgi-bin/dnhscript/bright.cgi

2 名無し妖精 :2017/03/22(水) 00:08:50 ID:fJyUS.dg0
■当スレ推奨アイテム
現うpロダ(東方なんでも宝船)
 ttp://coolier.dip.jp/th_up4/

昔のスクリプトをお探しの方はこちらへ
 旧うpろだ観測
 ttp://www5d.biglobe.ne.jp/~coolier2/upkan.html
 イナバ物置観測
 ttp://www5d.biglobe.ne.jp/~coolier2/upkan2.html
 東方なんでも三途の渡し
 ttp://coolier.dip.jp/th_up2/
 東方なんでも八坂分社
 ttp://coolier.dip.jp/th_up3/page/

■前スレッド
貴方が作る東方STG〜東方弾幕風(1スレ目)
 ttp://jbbs.shitaraba.net/bbs/read.cgi/internet/22214/1424739072/

3 名無し妖精 :2017/03/22(水) 00:09:15 ID:fJyUS.dg0
■バグ質問前の確認事項

1.まずヘルプを読もう
 ほとんどの基礎的な答えはヘルプに書いてあります。
 基本的なプログラムの書き方も一緒になっています。
 まず一通り読んでください。ヘルプに書いてあるような質問はスレのみんなは好きじゃないです。

2.とりあえずスプリクトを公開しよう
 同じ見た目のゲームでも100人が作れば100通りのプログラムがあり、
 同じ見た目のバグでも100種類のバグがあります。
 文章だけで説明されても無限のバグ候補があるので分かりません。
 とりあえず書いたプログラムを見せてください。

3.長いプログラムはtxtアップロード
 スレに長いプログラム全体をコピーすると、それだけでスレが終わってしまいます。
 バグの原因に目星がついてるならば、バグ周辺だけをコピーしてください。
 原因がよくわからないならば、txt形式で全体をアップロードしてください。
 1-3スレ程度に収まらない場合もtxtが喜ばれます。

4.何がバグなのか
 バグのあるプログラムでも、フリーズするなど重症でない場合、演出なのかバグなのか区別がつきません。
 できるかぎり「どう動いて欲しいのか」を説明してください。

4 名無し妖精 :2017/03/22(水) 00:11:28 ID:fJyUS.dg0
取り敢えず確認しながら立てました。
一応リンク先は書き込む前に踏んで確認したり、内容を天狗のネタ帳にコピーして
出来る範囲で精査したつもりですが、粗があったら指摘願います。

5 名無し妖精 :2017/05/18(木) 12:32:46 ID:nv2olOXI0
>>1,2,3,4
作成乙です。

6 名無し妖精 :2017/05/19(金) 16:41:30 ID:ffoBbYmo0
自機作ってたんだけど、特定の弾画像だけ妙にショットの判定が縦に大きくなる謎の減少が発生して困ってる
他の弾画像使えば見たままの判定に戻るんだけどなぜか特定の弾画像だけ変になる
矩形指定も間違えてないし、同じくらいのサイズの弾使っても正常に動くのに訳がわからない
最初はオブジェ弾だから駄目なのかな、とも思ったけどCreatePlayerShot01使っても一緒、ID変えても駄目
元々普通の判定だった弾を異常の起こる弾画像に変えたら途端に駄目になったりした
誰か原因の解る人いないでしょうか。他の弾が普通の判定だから敵側の判定間違えてるわけでもないし・・・

7 名無し妖精 :2017/06/02(金) 01:34:37 ID:bimbq/T20
>>6
弾が縦に長かったりすると判定が異常な大きさになるっぽいから、どうしても縦長弾を使う場合は判定用と見た目用で2つ弾を出す必要がありそう

8 名無し妖精 :2017/06/06(火) 10:05:24 ID:M4G5RKnI0
V2でスコア上限突破って出来ないかな?変数でやっても100万あたりで増えなくなるし。

9 名無し妖精 :2017/06/15(木) 00:06:39 ID:t0H5cV3g0
>>7
返事遅れたけど、そんな仕様あったのか……初めて知った
矩形指定を横に広くしたら治った。ありがとう

10 名無し :2017/07/02(日) 08:37:53 ID:rhH2FG9I0
緋想天のゆゆさまの幽胡蝶みたいなのを作ろうとしているのですが画面端で反射させつつ扇状に弾を変化させるとか出来ますか?
出来たら方法やソースも教えてくれると助かります。

11 名無し妖精 :2017/07/05(水) 16:20:00 ID:SdM.bH8Q0
>>10
普通の反射処理をオブジェクト弾を使って作って反射後の角度を取得できるようにして、その座標と角度を基準として扇状に弾を出せばいいと思う

12 名無し :2017/07/06(木) 18:57:47 ID:3filyfRY0
11番さんありがとうございます!
もう一つ困ってることが有りまして弾から設置レーザー撃たせるソースを組んだのですがボスからのプレイヤー角度でしか撃てなくて、弾からの自機狙いレーザーを撃たせるにはどのようにすれば良いですか?因みにaddショットでレーザーは撃たせています

13 名無し妖精 :2017/07/08(土) 11:14:49 ID:GRZbw1D20
>>12
もしGetAngleToPlayerを使って角度を取得しているならこの関数だとボスからプレイヤーの角度しか取得できない(たぶん)からatan2()を使うと解決できると思う
atan2()は2点間の角度を求める関数で、始点(x1,y1)から終点(x2,y2)の角度を取得したかったらatan2(y1-y2,x1-x2)って感じで入れてあげればうまくいくはず

14 名無し :2017/07/08(土) 14:27:22 ID:24Q17LS.0
>>13
と言うことはobject弾じゃないとだめかな?
弾の座標取れないし

15 名無し妖精 :2017/07/08(土) 18:25:22 ID:GRZbw1D20
>>14
わざわざオブジェクト弾を使わなくてもマルチスレッドを使う必要はあるけど
let obj = CreateShot01();
let x = Obj_GetX(obj);
let y = Obj_GetY(obj);
ってやることで座標は取得できる

16 名無し :2017/07/08(土) 19:31:40 ID:24Q17LS.0
>>15 ありがとうございます!
こんな方法があったなんて!このおかげでスペカが作成出来る!

17 名無し :2017/07/08(土) 19:54:03 ID:24Q17LS.0
createshotAでもいけるのかな?

18 名無し妖精 :2017/07/09(日) 03:34:05 ID:PMTiWTCs0
>>17
CreateShot全般いけるはず
ただ、Obj_Get○○は問題なく使えると思うけどObj_Set○○を使うとどうなるのかは知らない

19 名無し妖精 :2017/07/09(日) 14:51:46 ID:oKA40IhA0
sage進行知らないのか、わざとやってるのか…

20 名無し妖精 :2017/07/10(月) 07:58:33 ID:R17EzJ9A0
>>19
きっと忘れてるだけだから…

21 名無し妖精 :2017/07/10(月) 14:08:16 ID:0.XzTHN60
>>20
忘れてるだけだったらいいなぁ…
と思ったが、sage進行推奨とはどこにも書いてないんだよなぁコレ。
テンプレに書いて置くべきだったかな。

22 20 :2017/07/10(月) 15:11:22 ID:R17EzJ9A0
>>21
テンプレ見返したら無かった気がする。
もしくは、sageを知らない初心者か、ただの⑨か。のどちらかかな?

23 名無し妖精 :2017/07/13(木) 18:53:10 ID:hdWGT1u20
V2などで背景画像を円形(神6面のやつ)に表示しても、なんか気持ち悪く見える…
sinやcosだけじゃ足りないかな?

24 名無し妖精 :2017/07/15(土) 23:29:45 ID:D8E/GZNc0
色を付けてみてはどうでしょ。弾幕風の3D背景にはシェーディングの概念が薄くて
それっぽく見えてもフォグの凹凸だったりするし。
因みに大階段なんかは、コレで影の色をパーツごとに塗り分けてやらないとのっぺりする。

25 名無し妖精 :2017/07/16(日) 03:53:05 ID:cuwkPF.Q0
>>24
背景に大階段を入れてるけど、謎の違和感の正体は影の有無だったのか…

のっぺりした大階段です。良ければ見てやって下さい。
ttp://imgur.com/a/Mx29d

26 名無し妖精 :2017/07/18(火) 11:04:28 ID:OsDaxzgc0
>>25
のっぺりというか、違和感。
階段部分が手すりに貫通してて、カメラアングル変わった時にもにょっとする。
手すりの壁面を再現して無いのが原因かも。妖々夢にはフォグきったり頂点カラーOFFにする環境設定あるから
この辺をもっと観察してみて。

27 25 :2017/07/18(火) 12:34:23 ID:ThjTWLGI0
>>25
手すりの壁面は角度設定があまりにも面倒過ぎて放置しててね…
カメラアングルの関数を(500,90,0)にしてるけど、(500,0,0)にした方が良いのかな。
影は色を暗くしてやってみよう

28 25 :2017/07/18(火) 12:34:57 ID:ThjTWLGI0
安価ミス、>>26です。

29 名無し妖精 :2017/07/18(火) 22:39:06 ID:ThjTWLGI0
見られる範囲に調整を施しました。
ttp://imgur.com/a/2uhvz
角度変化による階段の立体移動の問題は避けられず。DrawGraphic3DのX座標をカメラアングルと真逆に移動させても違和感(特に高速動作時)が拭えない・・・

SetViewTo関数ってどう使うんだろう?
触り始めて4年は経つけど、これだけ未だに分からない・・・

30 名無し妖精 :2017/07/19(水) 12:42:58 ID:L7dj.OQk0
ttp://xiena.web.fc2.com/3D/
v2だったりこのサイトが一番まともに解説してると思う。
ph3に行くつもりならメタセコイアでモデリング技術をかじってみると良い。

31 名無し妖精 :2017/07/19(水) 13:01:19 ID:L7dj.OQk0
おっと、誤字った。失礼。
ちょっと>>29のスクショを眺めてたんだけど、共通して
階段部分のパースが狂ってる。縦線の部分がきちんと繋がっていない。
だからカメラアングル動かすと違和感あるんだと思う。

SetViewToはカメラの注視点の位置。ph3だとそのままSetCameraFocusX等になってる。
早い話、3D背景全体のXYZ座標を丸ごと弄れる。

32 29 :2017/07/19(水) 16:29:37 ID:4JtA21AI0
>>31
ありがとう。ph3は一度試したけど、雑魚敵やオブジェクト管理が面倒だったので当分はV2で…
パース自体狂ってたのか…問題の階段部分のスクリプトを上げても大丈夫かな?5行に抑える前提で。

SetCiewTo使えば擬似画面揺らしが出来たのか…?

33 名無し妖精 :2017/07/19(水) 17:00:57 ID:L7dj.OQk0
>>32
画像ファイルないと訳判らん場合もあるから、
zipファイルに固めてクーリエに投げるのがちょうど良さそう。

34 29 :2017/07/19(水) 17:13:12 ID:4JtA21AI0
今更ですが、階段作りは初めてです。他は導6面のくるくる回るやつを真似ようと計画中です。

35 名無し妖精 :2017/07/19(水) 17:17:53 ID:4JtA21AI0
>>33
分かりました。しかし使ってる画像が色々と不味いので、画像を自作してから上げてみます。

36 35 :2017/07/19(水) 23:00:00 ID:Hh4zwYFI0
お待たせしました。確認の方お願いします。
「Package.dnh」内のlet StageCount=1;を2にすると階段背景になります。
ttp://coolier.dip.jp/th_up4/index.php?id=6483

37 名無し妖精 :2017/07/20(木) 13:08:38 ID:6LQbUs2k0
>>36
とりあえず落として色々弄ってみて判った事。

1.階段部分のDrawGraphic3DのX座標に角度を適用してる。
  (角度変数に0をかけたらズレなくなったので)

2.階段部分の描画角度や座標補正が色々おかしい
  (-45と45度でなんやかんやしたら綺麗になった)

3.隠面処理やレイヤー順序をちゃんとやってない。
  (スロープの壁部分に階段本体が隠れてるのはそれっぽくないです)


取り敢えずこっちで色々直してみた奴上げてみるので、ご参考までに。
ttp://coolier.dip.jp/th_up4/index.php?id=6484
ただ、スロープ部分とのかみ合わせがイマイチ上手くいかなかったので
ひょっとすると他にも欠陥があるかも知れない。(変数の制御部分とか)
取り敢えず一応見れるレベルにはなったので、後は弾幕とかステージとか中身の方ですね。

あとこれは直接関係はないんですが、
ブロックインデント(Tabキーで整形できる機能)使って見やすくしたり、
accent文使ったりすると見た目綺麗になって見やすくなるので活用してみてくだされ。

38 35 :2017/07/20(木) 21:42:45 ID:7BwP1.Sw0
>>37
自分のやつが、いかにダサいかよく分かる素晴らしいクオリティで感謝感激でございます。
座標に角度はOUTか・・・
階段の配置をミスると、天空の階段になると再認識。おお恥ずかしや・・・
変数に関してですが、TMainLoop側でスクロールを全部任せているので問題ないと思われます。

>>インデント
今思い出すと、if分でTABを入れてなくて、エラーの原因特定に2時間かかってた。今思うと結構恥ずかしい・・・

>>ascent文
リファレンス見たら何だかわからん状態だけど、「配列の操作が簡単になる」という考えで良さそう?

システムに力を入れ過ぎて弾幕やステージのセンスが消えていく・・・
再現したもの
・紺珠伝のチャプターボーナス(完全無欠モードは中断セーブ無しならいけそう。ボスは知らん)
・欠片システム(敵弾スクリプトで楽々実装)
・独自の点符、グレイズシステム(打ち込み点10固定)
・やや高性能タイマー(小数点以下指定、時間増減、停止etc...)
あれ、意外と少ない・・・?

V2のエフェクトオブジェクトのID上限って、10万くらい?それとも1万?


長くなりましたが、36の方、多忙の中修正して頂き、ありがとうございました。階段だけでなく、地Exといった背景に少しずつ挑戦していく所存です。

39 名無し妖精 :2017/08/16(水) 22:27:39 ID:xLFSzYhQ0
複数ボスの為にサークル状のHPゲージのサンプル(v2の)を入れて
少し改変して使ってるんですがこれ使っていいかどうか書かれてなかったけどどうしたらいいんでしょう
リードミーに名前(?)はあったけど連絡先も書いてなかったし名前(?)で調べても出てこないから聞く事もできない

40 名無し妖精 :2017/08/16(水) 22:33:21 ID:xLFSzYhQ0
確認してみたら東方試作品の人と書いてありました
使うの駄目っぽかったらプレイヤーには不親切になるけどHPゲージ無ししかないかな……

41 名無し妖精 :2017/08/22(火) 15:37:56 ID:7X8oTVYI0
素材として公開されているのなら、名前クレジットさえしっかりしてれば問題ないんじゃなかろうか。
或いは自前で作ってしまうとか根性力溢れた代案もありますな。三角関数と頂点エフェクトを知ってれば出来ますぞ。

42 名無し妖精 :2017/08/31(木) 19:46:24 ID:wSkURfcQ0
ph3のゲームは本体と同梱されていて単体で動くものが多いですが、v0.12mのように1つの本体をローダーとして全て管理する方法はありませんか?
スクリプトを覗くとデフォルトキャラクターから改変されていたり、一見管理できそうなスクリプト構成でも起動してみるとエラーを吐いたりでやはり難しいのでしょうか

43 名無し妖精 :2017/09/07(木) 18:21:23 ID:TXh5zSiw0
単体で動くのはパッケージスクリプトといって、再生する専用のゲームスクリプトを個別指定しているからであって
設定ファイルのth_dnh.defを使わずに、scriptフォルダの中に連続再生スクリプトを入れれば
普通に従来通りのメニューが表示されますよ。

因みにスクリプトと画像をファイルまるごとアーカイブしたdatファイルは、
v2ではきちんとスクリプトとして認識されるけど、ph3では無視される模様。

44 名無し妖精 :2017/09/10(日) 09:41:45 ID:C3oylFxo0
私もそう思いまして東方導命樹のscriptフォルダを公式のph3のscriptフォルダに入れてみたのですが
起動まではうまくいくもののゲームスタートを選択すると以下のエラーでストップしてしまいます
ttp://coolier.dip.jp/th_up4/img/th4_6530.txt

またトライフォーカサーではdefault_system、東方天華楼ではresourceが改変されており共存は難しそうなので何かいい方法はないかと質問してみた次第です

45 名無し妖精 :2017/09/10(日) 18:12:40 ID:C3oylFxo0
エラーの件は自己解決したかもしません
導命樹は[.0 pre15]向けに作成されているのですね
th_dnh.defを無効化してみたら同じph3でも時期によってバージョンがバラバラ
[.0]向けのスクリプトは[.1 pre6a]と互換がないようですし
bulletforgeも無記載は[.0]向けなのかと思っていましたが、[.0]で動かず[.1 pre6a]で動作するものだったり
もしかしてph3はかなりガラパゴス化しているのでしょうか・・・

46 名無し妖精 :2017/09/11(月) 10:09:11 ID:khH20vu.0
コメントにも書きましたが、wiki管理人さん見てたら個別ページのDLリンクだけでも復旧お願いします。

47 名無し妖精 :2017/09/12(火) 21:46:31 ID:PcPUH87g0
あー…、そういえばスクリプトの互換性が消えてるのすっかり忘れてました
本体同梱版は制作当時のバージョンで動くことを前提に作ってるので
それよりも古いバージョンだと動かないんですよね

[0]で作られてるスクリプトは[1]でも関数の互換性がある程度はあるので
(インクルードを使ってる場合は除く)
簡単な物だったらバージョン跨いでも動きます。多分。

こんな感じに、スクリプトによって適正バージョンが微妙に異なるので
本体同梱されてる場合は無理に共存させないのがいいかも。
どのみちゲームファイルが増えてきたらDirectory選択でもファイル検索に時間かかってくるので

48 名無し妖精 :2017/09/12(火) 22:05:56 ID:IemFVcfY0
例のアノ人のアカウント消えてる?

49 名無し妖精 :2017/09/12(火) 22:49:27 ID:PcPUH87g0
>>48
ここそういうスレじゃないんで…。

50 名無し妖精 :2017/09/12(火) 23:12:50 ID:IemFVcfY0
>>48
いや結構有名な人だから弾幕風関係の雑談としておkでしょ?
話題振って欲しくないみたいだけど、ご本人様だったりして

51 名無し妖精 :2017/09/12(火) 23:46:36 ID:PcPUH87g0
>>50
話題を掘り下げたいにしては悪意とか恣意的なものが見えたからさ。特に君のレスの二行目とか。
アカウントがどこのだかは知らないけど、少なくてもここでやる話題じゃないでしょ。
「攻略、レビュー、感想、スクリプトについての質問や相談」に該当する内容なら別にいいよ。

さて、天空璋が出たが…。
もう海外ではPhantasmやボスラッシュなんかのスクリプトが出てるらしいね。
日本の弾幕風スクリプターは10年戦士が殆ど引退してるから、新人さんの腕の見せ所ですな。
(水面下では作ってる人結構いるみたいなんだけどね)

52 名無し妖精 :2017/09/13(水) 00:13:12 ID:htwlzgOk0
>>50
荒れるからやめろ

そういや天空璋の弾幕の話題全然上がってないな何かいい弾幕あった?
俺的にはタナバタスターフェスティバルが弄りがいがありそうで良かった

53 名無し妖精 :2017/09/13(水) 00:22:54 ID:Y7JxzHts0
EXボスの七星剣やアナーキーバレットヘルは再現しやすそうだなって思った。
道中だと6面の演出と同期した向日葵妖精とか…。
バレットゴーレムちゃんマジ可愛い。30匹くらいまで増やしたい。

54 名無し妖精 :2017/09/15(金) 11:48:08 ID:Vy895O.k0
海外作品は無断転用がデフォルトみたいなのがモヤる
東方原作に限らず何でもぶっこ抜いて素材にしてる
丁寧にクレジットしてる辺り問題があると思ってないのかな

55 名無し妖精 :2017/09/15(金) 20:17:56 ID:b9qsJePs0
思ってないよ。そもそも海外勢は基本絵がめちゃくちゃ下手糞だから
借りたりぶっこ抜いたりするのが当たり前。下手すれば商業ゲーからも…。

MOD文化が強く根付いてるから、平気でセーブデータ配布や翻訳/改造パッチも作ったりする。
日本人がまじめすぎるというのもあるが、完全に文化の違いなので今更言っても仕方ないさ。

56 名無し妖精 :2017/09/15(金) 20:32:30 ID:KRxOqeBg0
変な方向にDIY精神が発揮されちゃった感じか

57 名無し妖精 :2017/09/15(金) 21:50:43 ID:MIr7jX9M0
そういえば、つべで本家っぽい画風のオリキャラ動画(もちろん弾幕風ph3)を見るけど、アレは何処かから引っこ抜いたのか、はたまた海外の方のフリー素材なのか…

58 名無し妖精 :2017/09/16(土) 03:42:00 ID:BGXRf2AI0
作者オリキャラなら本家っぽく描いたんだろうな、あるいはそういう条件でコミッションかけて絵師に描いてもらったか

59 wiki管理人 :2017/09/16(土) 07:16:20 ID:XO1rtIXw0
>>46
返信遅くなり申し訳ありません(旅行中はスマホから寄書板に書き込めず…)

取り急ぎ、個人HPに作品ページの残っていた「東方改季録」については私の方でURLを追加いたしました。
他の作品については、web上に残っているURLの情報を寄せてくださった方がいるので、おそらく残っている作品については遠からず追加できるかと思います。
ただし東方白恋夜についてはリンク切れの可能性が高いです、申し訳ありません。

至らない点等多々有りますが、今後もできる限り今まで世に出た弾幕作品などを保管していければと思います。

60 名無し妖精 :2017/09/16(土) 20:24:45 ID:BGXRf2AI0
>>59
お疲れ様です
ありがとうございます

61 名無し妖精 :2017/09/17(日) 11:43:19 ID:cj8luQtY0
ログを読んでて気になったのですが
ttp://jbbs.shitaraba.net/bbs/read.cgi/computer/6306/1071332007/12
>本スレにも貼ったけどこっちでも
当時の本スレってどこを指してたんですか?

62 名無し妖精 :2017/09/17(日) 13:39:48 ID:YipnIxyE0
>>59
リンク切れステージスクリプトの再うpは可能でしょうか?

63 wiki管理人 :2017/09/17(日) 17:59:30 ID:ljqyQFcI0
>>62
東方白恋夜についてはver0.10なら持ってますが、Readme内にて再配布が禁じられているためアップロードはいたしません。

東方妖洞窟の最新Ver.もリンク切れですが、こちらは私は持っていません。
手に入るVerのReadmeには作者連絡先も記載されていないようです…。

リンク切れの作品についてはもし持っていたとしても再アップロードはしない方針です(ちなみにwiki自体に上げられていた作品や素材というものは存在しません、全て外部ページorろだです)
過去には著作権を巡って議論に発展した例もあり、そうでなくとも著作権的に危うい橋は渡りたくないかな、と。
(別のフリーソフト界隈では作者が元ファイル消してしまって他の人のバックアップだけが頼り、という例もありましたが、それは例外)

お力になれず、申し訳ありません。

64 名無し妖精 :2017/09/21(木) 22:39:22 ID:HyOtgkWU0
昔このスレ私物化したり爆破しようとしていた人がいたって本当?
それを弾幕化したスクリプトがあるとも聞いたけどどこでダウンロード出来るんだろ?

65 名無し妖精 :2017/09/21(木) 22:56:20 ID:L.Y5bSHo0
弾幕風のスクリプト構築のテクニック的なまとめとかは欲しいな
一時あった訳のわからん超性能の自機とか、ステージ選択制の連続ステージスクリプトとか、横シューターとかの別ジャンル化とか

66 名無し妖精 :2017/09/23(土) 00:19:35 ID:62f7VvNg0
テクニックまとめても、大半がv2時代に作られてる物だからなぁ…

v0.12m(旧弾幕風)でも初期の頃は本体バージョンの仕様が違ってて、
スクリプトの組み方が今と全く別物っていうパターンも見た事あるし

67 名無し妖精 :2017/09/26(火) 21:04:52 ID:tOOYQj7A0
秋姉妹の弾幕なんて考えたことなかったな
静葉の方は上からいろいろ落として来たり、ギミック弾をぶつけてきて
穣子の方は交差とレーザーがメインなのかな
共通してるのは赤橙黄が多めでアクセントに寒色系混ぜてるとこくらい

68 名無し妖精 :2017/09/27(水) 13:56:35 ID:vtgR9Lh.0
最後の出番がDSだし、カード枚数も少ないからネタが浮かびにくいんだよな
こういう時は元ネタ辿って作っていくとやりやすいかもね

69 名無し妖精 :2017/09/30(土) 19:31:46 ID:gqM0UJrs0
中ボスだけのキャラもいるから、弾幕が少し作りにくいのよね。

ph3のdefault_systemフォルダ内部は弄らない方が良いのかな?

70 名無し妖精 :2017/09/30(土) 20:58:56 ID:jXJ3LNyY0
中ボスオンリーキャラはネタ絞り出すの本当に苦労するよね

>>69
専用パッケージスクリプトなら好きなだけ弄っても大丈夫だけど、
スクリプト単体だけ配布する場合は、弄らない方がいいかもね

71 名無し妖精 :2017/10/01(日) 02:20:52 ID:Jjmlx6qo0
ネタかー
進撃の小人とかミルカチーム見たいな露な骨ウケ要素なしだったら秋に関する短歌・俳句を調べるだけでかなりアイデア出てきそう
徒然草(合ってる?)見たいな広く読まれてる日常を書いた本なんかもいいかも
どっちも著作権が切れてるからネットググれば多分現代語訳が見つかるはず
昔からある秋の名所とか祭りも参考になるかも
あとは豊穣の神の真似事とか?
静葉の方は老いとか死を暗示するようなスペカをいくつか作ったら面白いかも
秋のイメージでも穣子はポジティブ面が静葉の方はネガティブ面が強い気がする

72 69 :2017/10/02(月) 21:03:58 ID:yM58pA4I0
>>70
V2で作っていた本家風UIを移植しようと試しに組んだけど、スコアが約40行で出来て驚いた。旧版は100行余裕で超えてたのに…
今の時代こんな簡単に、しかも短く組めるのか…

73 名無し妖精 :2017/10/03(火) 20:32:05 ID:dW0kZl/A0
>>72
いやはや、良い時代になったものですな
v2は結構制約多くて、しかも画像描画が結構汚いんだけど
ph3はそんな事なくてかなり快適に作れるというね

74 名無し妖精 :2017/10/04(水) 01:38:54 ID:tgraT82A0
>>73
本家の反転合成や、メニューからステージ推移時の背景?も再現出来るのは嬉しいですね。
そんな自分はまだ雑魚敵すら出せてないけど…

画像で思い出した。速度4.5の自機を移動させると画像がぼやけるように見える…Obj関数で何か足りないものがあるのかな?

75 名無し妖精 :2017/10/04(水) 14:54:37 ID:IWEwiG9g0
>>74
ObjRender_SetPosition(GetPlayerObjectID,round(ObjMove_GetX(GetPlayerObjectID)),round(ObjMove_GetY(GetPlayerObjectID)),0);
を毎フレーム実行してやるといいよ。弾幕風は表示座標の端数を処理しないとぼやけるよ(敵弾なんかも同じく)

76 名無し妖精 :2017/10/04(水) 15:15:16 ID:IWEwiG9g0
一応そのままコピペしても使えるようにしたんだけど
長ったらしいとかダサいなと思ったら
objIDや座標は自分のスクリプトに合うように書き換えてね

あとついでにこれも投げとく
ttp://coolier.dip.jp/th_up4/index.php?id=6541
需要あるかどうかは知らないけど、
万が一にも使いたい人が居たら「弾幕風スレ 2-76」とかクレジットしといて

77 名無し妖精 :2017/10/05(木) 18:33:41 ID:gO23UXTQ0
>>74
roundを使う必要があるのか…ありがとう、round入れて確認してみる。

sin関数で画像を動かす程度しか出来ない自分には自機ボム作りも先か…

78 77 :2017/10/05(木) 21:36:22 ID:cac63Csw0
ミスった。正しくは75。

79 名無し妖精 :2017/10/05(木) 22:11:08 ID:YPyUcpNc0
>>77
端数が消えればいいからtruncでもいいんだけどね。その場合は0方向に偏るけど
敵や弾の座標も小数点単位で動いてるから、きれいに表示させたい場合は端数を捨てると良いですよ
(やりすぎると重くなるので最低限にしておくこと)

80 名無し妖精 :2017/10/06(金) 21:00:29 ID:rLWphASs0
>>80
つまりV2は「勝手に」round処理をしてたからそこそこ綺麗に表示されてたのね。座標に小数点以下を指定するとぼやける訳だ。

通常と霊界トランス用のBGM2つをオブジェクトで再生させると、たまにループ開始点から始まって、リトライ等すると高確率でフリーズしてしまう…
ファイルのロードとオブジェクト設定は同一フレームに行うと不味いの?
Play関数は1フレーム置いてから行ってるけど…
携帯からなのでソースが張れないorz

81 名無し妖精 :2017/10/07(土) 06:59:57 ID:sYsXGLoY0
フリーズするのは多分メモリというかVRAMの余裕が…。
防ごうと思ったら、事前ロードで負荷分散させて領域確保しておくしかないな。
本家はロードめちゃ早いから、必要な時に必要な分だけ読み込めばいいけど
弾幕風はそう上手くいってくれないという。
(まさか@LoadingとLoadTextureInLoadThreadでリソースの扱いが違うなんて…)

82 名無し妖精 :2017/10/07(土) 17:24:22 ID:sW46hO3g0
>>81
VRAMか〜…V2のコンフィグ見たら850MBくらいだった。圧倒的に足りない?
@Loadingの使い道がいまいち分からないし、無くても動くあたり、いらない子なんじゃないかと思ってる。

スペルボーナスの5秒間減少無しは自作するしかないのか。

83 名無し妖精 :2017/10/07(土) 18:31:04 ID:sYsXGLoY0
>>82
テクスチャ領域の無駄を無くして、使う可能性のあるリソースをすべて事前読み込みすれば
アーカイブした後も処理落ちに悩まなくて済む。テクスチャのロードが一番重くなるので。

因みにテクスチャの扱いがどうなってるのかはログ見るなり出力するなりすれば見れる。(LT)って付いてるとLoadThread扱い。
アーカイブ後は展開が間に合わないと読み込み失敗事故が割と頻発するので無駄省きたい人はcheck。

84 名無し妖精 :2017/10/08(日) 12:38:05 ID:D9sBw6JA0
そういやログ機能あるの忘れてた。オブジェクト数からロードした各データまで丸分かりとは驚かされるばかり。
そして外枠に割いたオブジェクトの多さに泣く。120って何だよ120って…

85 名無し妖精 :2017/10/13(金) 17:19:21 ID:ZSA.AKRE0
ステージインデックスの値が9までしか使えないと何処かで見たけど、index値を無視して、V2のように直接ステージタスクを呼び出す(Close何とかを呼ばずに)ことは可能かな?

86 名無し妖精 :2017/10/14(土) 16:45:08 ID:ZejrtAEk0
パッケージスクリプトではなく、ステージスクリプトとしてサブルーチン記述でゴリ押す方法なら可能っちゃ可能だけど時代遅れ感はある。
1~9対応というのはリプレイがエラー吐かずに再生できる制約の話だから、リプレイ機能自体を使わなければindexは無視していいみたい。
ちなみにサンプルスクリプトでこの問題は再現可能。

87 名無し妖精 :2017/10/14(土) 17:38:02 ID:ZejrtAEk0
因みに、なんでindexが9まで使えないか自分なりの推測をしてみた。
弾幕風ph3のリプレイには、途中のステージから開始しても再現できるように
スコアとグレイズの値がステージに対応した9個の配列で埋め込まれており、
その配列に[StageIndexの値-1]でアクセスしていると思われる。(Powerは未対応っぽい)

index=1の時は[0]、index=9の時は[8]のようになり、リプレイ再生に問題はないのだが
index=0の時に[-1]、index=10の時に[9]となり、どちらも配列長を超過してしまいエラーが出る。
これはおそらく、東方原作のステージ数を踏襲した仕様と思われる。

回避方法は、1以上の1桁の数値に収まるようにステージindexを設定するか
min関数やmax関数等を使って想定外の数値が入らないように工夫すること。

88 名無し妖精 :2017/10/14(土) 19:11:37 ID:o0UU3aAk0
>>87
本家でステージが9もある場所なんてあるのかと考えたら、永で6Aと6B、EX、LWで9面まであったのね。LWは9面なのか怪しいけど…
逆に1面固定にも出来るのかな。特殊モードで全8ステージ+おまけ(10面)マラソンする計画があるので、可能なら試してみようかな。

89 名無し妖精 :2017/10/14(土) 23:38:59 ID:ZejrtAEk0
>>88
永夜抄の作り込み具合は頭おかしいから…(褒め言葉)
ま、9もあれば十分だと思いますよね。…普通なら。
ルート分岐系は専用フラグでやった方が、スクリプト的に効率的かなと。

90 名無し妖精 :2017/10/15(日) 04:56:29 ID:EXrSlIfw0
>>89
同じステージだけど、分岐させて全く別物に見せることも可能なのね。

AreaCommonData系って、配列は別管理なのかな?
let score=[1,2,3,4,5,6,7,8];
SetAreaCommonData("HighScore","HighScore_pl00",score);
と書いたはいいけど、全く反映されない上、GetAreaCommonで「配列以外にindex使用」エラーでPCにダイレクトアタック。
もしやAreaCommon系にindexは使えないのか…?
ボス側で[]付けるとエラー吐く癖にパッケージ側では無問題。一体何だろうか。

91 名無し妖精 :2017/10/27(金) 17:36:44 ID:j9D/OrkA0
猫のお腹。

92 名無し妖精 :2017/10/28(土) 17:28:20 ID:gD/umma60
>>91
気持ちいいよね…

93 名無し妖精 :2017/10/30(月) 16:13:11 ID:sDdYptII0
凄く今更かもしれないけど、弾幕風ph3におけるファイルの文字コード設定の備忘録を一つ。
文字コード設定を統一していないとincludeに失敗するのは既知の不具合なんだけど、
どうやらテキストの終端判定もおかしくなり、エラーを吐くようです。

もし「すでに文字列終端です」というエラーが出たら、文字コードも疑ってみるといいかも。
Windows付属のメモ帳なら保存する時に文字コードの指定が可能。
(因みにデフォルトのシステムスクリプト等はUnicode指定)

94 名無し妖精 :2017/10/30(月) 23:37:03 ID:JbtUO6TM0
>>93
そういえば、自作ライブラリをインクルードしたら「文字列終端です」と出たのは文字コードが原因だったのか。
保存時に文字コードが云々はそういう意味だったのね。

95 名無し妖精 :2017/11/03(金) 20:10:45 ID:BUv9VxAI0
自機の速度に小数点を入れると、左移動が遅く感じるのは何故だろう…
というより、右移動が1.5倍速いような気がする。

96 名無し妖精 :2017/11/03(金) 21:28:25 ID:9b01YJjs0
そういえば自機の移動補正作った時も、理論上は同じ速度で動く筈なのに左右で速度が違う感じしたなぁ…。
気のせいかと思ってたけど、左移動の時は小数点が切り捨てられてるのかもしれない。

因みに自機速度をマイナスに指定すると逆方向に動いたりする。使い道は知らない

97 名無し妖精 :2017/11/04(土) 00:06:07 ID:IbTebHIo0
V2時代に「画面反転が無理なら操作反転させればいい」と思って操作反転させたことはある。
速度は仕方ないので、自機描画にもう一つオブジェクトを用意することで何とか解決?もちろんround関数使用。、

98 名無し妖精 :2017/11/04(土) 23:07:56 ID:IbTebHIo0
すみません、自機ショットの関数を作ったは良いのですが、出しているうちにほんの僅かずつfps値が低下していく現象に悩まされています。
早送り時に顕著で、「開始時800fps→5分後600fpsまで低下」といった具合で、酷いとスカスカな弾幕でも処理落ちする始末・・・
自分勝手で申し訳ないのですが、当問題のショット関数を上げましたのでもし良ければ問題点のご指摘の方お願いします。
ttp://coolier.dip.jp/th_up4/index.php?id=6543
使わせて頂いた画像は、たまたま手元に残っていたあのお方の素材を加工したものです。

素人が自機製作に手を出してはならないという事か・・・

99 名無し妖精 :2017/11/05(日) 18:43:15 ID:3viz9TRw0
>>99
エフェクトオブジェクトを使用してショットを作っているようなので
テクスチャのロードとリムーブが繰り返された結果VRAMを無駄使いしていると見ました

弾幕風ph3のリソース(画像や音声)は、ファイルを使用中のオブジェクトが0になると自動的にリムーブされます
これはリファレンスの■動作仕様 「使用可能ファイル」のページに書いてあります

取り敢えずログファイルの出力をお勧めしておきますね。
それでもダメなら別のスクリプトに原因があります

100 名無し妖精 :2017/11/05(日) 19:00:34 ID:3viz9TRw0
あ、対策書き忘れた。
LoadTextureInLoadThread関数で事前に読み込んでおけば
エフェクトオブジェクトを消してもテクスチャがRAMに残ります

頻繁に削除と生成を繰り返すエフェクトは事前読み込み推奨です

101 名無し妖精 :2017/11/06(月) 20:43:29 ID:RxHqUh7Y0
>>100
という事は、かすりや被弾・敵のチャージエフェクト等は別で読ませた方が良いことになるのか…
パッケージならロード画面作って敵の画像すべて纏めた方が良いのかな?

102 名無し妖精 :2017/11/07(火) 09:27:40 ID:Re8a3VfU0
>>101
頻繁に使うエフェクトはそうしたほうがいいですね。
要は「使う時に使う分だけ読み込む」を実践すればいいので…。

やりすぎるとRAM逼迫することになるので程々に

103 名無し妖精 :2017/11/07(火) 20:45:39 ID:3lbW.Sdo0
配列って、使うと重くなったりするんだろうか?
配列を使って弾幕を管理しているスクリプトを、ついぞ見たことがないもので。

104 名無し妖精 :2017/11/08(水) 08:57:09 ID:n0/8fPd.0
>>102
他にもスペル宣言時に一瞬止まる原因を調べたら、カットインやスペルボーナス表示タスクにLoadTextureが記述されてたのが原因だった。

105 名無し妖精 :2017/11/08(水) 09:02:40 ID:n0/8fPd.0
>>103
スペル用に配列を100個用意したけど、重くなるようなことは無かった(環境による?)からそこまで気にしなくてもいいかも。
弾幕は配列管理が面倒なだけで出来ると思う。

106 名無し妖精 :2017/11/08(水) 09:35:59 ID:kQWYQOQc0
配列結合を何回も繰り返すと重いとか聞いた事あるけど…。
環境次第だろうな(というかその程度で重いとか言ってる人のPC見てみてたい)

107 名無し妖精 :2017/11/08(水) 19:24:44 ID:n0/8fPd.0
配列結合って[変数][0]と書くやつ?

108 名無し妖精 :2017/11/09(木) 09:34:56 ID:fw9NI3bM0
配列長が変わるやつ
リファレンス引用すると「d = d ~ [i];」とか

検証してる人いたけど、余り重くならなかったとか
v0.12mは配列結合でメモリリークバグあるみたいだけど

109 名無し妖精 :2017/11/09(木) 12:31:43 ID:AU9sFrWE0
なら別に

let k=[[[[[0,0.8][i>1200],1.5][i>4800],-1.5][i>6600],-0.8][i>8400],0][i>10200];

なんてことをやっても問題はないか

110 名無し妖精 :2017/11/09(木) 13:15:52 ID:fw9NI3bM0
悪くはない、
悪くはないが…。
なんだかなぁ。

111 名無し妖精 :2017/11/09(木) 17:59:55 ID:wd7gTIc.0
配列結合ってそんな書き方だったのか…
自分がリファレンス見てないのが良く分かって情け無くなる。
結合じゃないけど、
let X=[0,1,2];
let Y=[0,1,2];
let Z=[0,1,2];
なんかの関数でX[Y[Z[0]]]と書いても大丈夫って事かな

112 名無し妖精 :2017/11/09(木) 20:25:32 ID:AU9sFrWE0
>>111
それは無理
>>109の形は配列の特殊系で、
条件に応じて代入する値が変わるタイプのものだから

基本式は、Qを条件文、Tを真の値、Fを偽の値として
let a=[F,T][Q];
それを次々と入れ子にしているのが>>109の配列
まあ、ifでOKと言ってしまえばそれまでなんだけど

113 名無し妖精 :2017/11/09(木) 21:20:19 ID:fw9NI3bM0
文字列も配列扱いだから、ディレクトリくっつける時も配列結合と言っていいのではなかろうか

…という事はファイルパスはエリアコモンデータで使いまわす文字列を予め定義しておくか、
該当テクスチャを使う箇所だけパス定義した方がinclude負荷減らせるのかな

114 名無し妖精 :2017/11/10(金) 10:53:50 ID:c2L7eq1k0
ボスグラや撃破後の処理なんかは#includeの最優先対象というのが個人的な考え

115 名無し妖精 :2017/11/13(月) 18:56:34 ID:hGUhBEEE0
無知を承知で…#includeで読み込ませるファイルも変数で指定可能なの?

116 名無し妖精 :2017/11/13(月) 20:43:11 ID:3ExA7g3g0
>>115
やったことがないからよくはわからないんだが、多分無理じゃないかと。
あれはそもそもタスクやスコープの外側でやるもののはずだから。
ただ、#includeさせるファイルからも、さらに#includeすることは可能なので、
そこらへんをうまく組み合わせればいいのではないかと。
ph3ならTRenderやTEndに相当するタスクなんかは、
全ボス共通のタスクとして#includeすることにして、
共通する攻撃や移動モーションがあるのなら、二段階の#includeをするとか。

117 名無し妖精 :2017/11/14(火) 10:32:28 ID:H2fy2yp.0
includeパスに変数とはまた変態なこと思いつくな…w
一応中身はただのファイル置換だから、ローカルスコープ内で呼んでも機能はするだろうけど
定数系が混じってると厳しそう。何よりスクリプト書く側が混乱するだろうし

そういやph3とv2の話が普通に交じってるか共通話題の二択だけど
特に何も書かれてなければ主流のph3って認識でいいのかな最近は

118 名無し妖精 :2017/11/14(火) 11:14:12 ID:w5eyfSOI0
GCSDのディレクトリに配列を適用して変数で制御するっていうのはやってるけど。
ボスのグラフィックを変えるとか、スペカ時の背景適用時なんかに。
さもなくば、効果音を出す際に数値を変えるだけで鳴らす音を変えられるようにするとか。

119 名無し妖精 :2017/11/14(火) 18:23:55 ID:w5eyfSOI0
そういえば、画面端で反射する弾はよく見かけるけど、
貫通する弾(画面端に到達すると反対側から出現する弾)って、見かけないよなあ

120 名無し妖精 :2017/11/14(火) 22:50:53 ID:H2fy2yp.0
霊夢の二重結界…(ボソッ)
いやまあ画面端じゃないけど

121 名無し妖精 :2017/11/15(水) 01:35:38 ID:hr0K5GHY0
つ ヤマトトーラス

あと弾幕風のどれかで博麗転送結界的なものがなかったっけ

122 名無し妖精 :2017/11/26(日) 18:43:33 ID:q5w.vU1I0
本家でも反射弾関係の判定ミス?で
原点の左上から飛んでくる弾がある
どういう理由でそういう判定になるのか

123 名無し妖精 :2017/11/27(月) 08:21:41 ID:oODLkPEo0
個人的には、条件を0未満にすると判定ミスが起きやすくなるのかな、と。
反射するための条件を、if(ObjMove_GetY(obj)<0)にして無限反射させたら、
画面上でジグザグ移動する弾がたまに出る。
もしかしたらだけど、0と-1の間の値を取り続けるという現象が起きるのかも。
ちなみに、if(ObjMove_GetY(obj)<1)にしたら、その現象は起こらなくなった。

なので、個人的には

task ReflectShot(X,Y,speed,angle,delay,Shita,count)
{
let obj=CreateShotA1(X,Y,speed,angle,113,delay);
while(!Obj_IsDeleted(obj)&&count!=0){
let theta=ObjMove_GetAngle(obj);
if(ObjMove_GetX(obj)<1||ObjMove_GetX(obj)>GetStgFrameWidth-1){
ObjMove_SetAngle(obj,180-theta);
count-=[1,0][count<1];
}
if(ObjMove_GetY(obj)<1||(ObjMove_GetY(obj)>GetStgFrameHeight-1&&Shita)){
ObjMove_SetAngle(obj,360-theta);
count-=[1,0][count<1];
}
yield;
}
}
という感じで反射する弾のスクリプトを組んでる。
今のところ、これなら画面上でのジグザグ現象は起きていない。
ちなみに、引数Shitaをtrueにすると画面下でも反射、
引数countをマイナスにすると無限反射するようにできる。

124 名無し妖精 :2017/11/27(月) 08:23:34 ID:oODLkPEo0
うわ、タブインデントって反映されないのか……。

125 名無し妖精 :2017/11/27(月) 21:29:13 ID:4yMzv6Q20
東方弾幕風って、かつて時封城と夢終劇がそうだったように
売り出すような物を作る工具として使っても問題ないのでしょうか?

126 名無し妖精 :2017/11/28(火) 18:46:03 ID:aJ/sLyUY0
商用はOUTじゃなかった?アレはそれを知ってか知らずか売ってたみたいだけど…

127 名無し妖精 :2017/11/29(水) 12:11:58 ID:AI/xv8Wk0
東方をタイトルに冠してるのなら「東方二次創作」って扱いになるから
本家(上海アリス幻樂団)の版権ガイドラインを踏襲する必要がある。
ttp://kourindou.exblog.jp/14218252/

具体的には「本家東方の流通ルートを超えるような売り方はしちゃダメよ」
って言ってたのね。Steamに天空璋出てるけどそれはまあ置いておくとして。

んで弾幕風はソレをしていいのかと言われると、
普通に例の二作が再販売されてるので別に問題ないんじゃなかろうか。
グラフィックにフリー素材集使ってる場合は個別に規約確認する必要がある。
無償利用はOKでも商用利用はNGって場合もあるし。

…ぶっちゃけるとUnityやDXライブラリという上位互換が出てるのだから、
無理に設計思想が古い弾幕風に拘る必要ってあるのかなって気はする。

128 名無し妖精 :2017/11/29(水) 12:33:07 ID:oh4uUkaU0
弾幕風のプログラム自体には商用利用NGという規定はないよ
二次創作とか自作以外の素材の利用規定はまた別の話

129 名無し妖精 :2017/11/30(木) 13:49:51 ID:V1mYI3II0
この話題、定期的にループしてない?

130 名無し妖精 :2017/12/01(金) 04:25:32 ID:gf3k9hjo0
ループで思い出したんだけど、timesループって個人的には存在価値がないよな。
完全にloopの下位互換になっちゃってる印象だし。

131 名無し妖精 :2017/12/01(金) 21:33:43 ID:7SBEvYmY0
ascentも本来はloopを付けるんだけど、
letと同じで省略できちゃうからこっちも地味に影薄いという。

breakとreturnの違いってリファレンスに書いてないけど、taskのloop内で行った場合は

 break:ループを"破壊"して下の処理へ移り、終端まで行ったら処理終了
 return:ループの処理を"中断"してその場で終了する。

エフェクトなんかの処理を呼ぶ必要がある場合はbreak
何も呼ばずにさっさと終了してほしい場合はreturn、と
こんな感じに使い分けてやると大分処理が軽くなりますぞ。特にph3。

132 名無し妖精 :2017/12/01(金) 23:42:02 ID:gf3k9hjo0
いや、ascentとdescentは「値の変化を伴う」処理全般に使えるから、慣れるとすごく便利だと思う。
ascent(n in 0..RWay){CreateShotA1(X,Y,speed,angle+n*360/RWay,color,delay);}
とかやれば、簡単に全方位弾が作れるし、配列へのアクセスにも有効だし。
俺も、使い方がわからないうちはloopを使ってたけど、今のところの主流はascentとdescentかな。
もちろん、loopやwhileをまったく使わないわけじゃないけど。

133 名無し妖精 :2017/12/02(土) 08:49:32 ID:WIrtGlxY0
ちなみに、リファレンスには、

let d = [];//dは配列
ascent(i in 0..100)
{//配列dを[0 1 2 … 98 99]で初期化
d = d ~ [i];//配列の結合
i++;
}

と書かれているが、ascent、descentループでは一番下のi++;は意味をなさない。
ascent(i in X..Y)は、iの値をXからスタートしてY-1まで1ずつ増やす形で
ループを繰り返すタイプだから、仮にi+=10とかやってもその変化させた値はリセットされる。
また、マイナスからのスタートもできないのが難点ではあるが、それに応じた記述ができれば
いいだけの話だし、引数の中に直接変化量を記述する形に慣れることができれば、
かなり使い勝手のいいループになる。
その性質上、配列やalternative分岐とは、かなり相性がいいというのが持論。

134 名無し妖精 :2017/12/03(日) 09:22:23 ID:GlzHtZlM0
acsentで外枠オブジェクトの設定が超大幅に短縮出来たから、なんだかんだで必要だと思うんだ。
descent、まだ使ってないな…

135 名無し妖精 :2017/12/03(日) 10:13:55 ID:SVXcHNcE0
descentはascentの逆順ループだから、確かに使う機会は少ないけど、
不透明度の増減に使うというのはどうだろう?
descent(alpha in 0..120){
ObjRender_SetAlpha(obj,alpha*255/120);
yield;
}
とやると、徐々に透明になっていく描写ができる。
これをascentでやろうとすると、
ascent(alpha in 0..120){
ObjRender_SetAlpha(obj,255-alpha*255/120);
yield;
}
という書き方になって、ちょっとだけど読みづらくなるから。

136 名無し妖精 :2017/12/03(日) 19:51:41 ID:TD4HZlKQ0
サブルーチンと引数なしユーザー定義関数ってなにが違うの?

137 名無し妖精 :2017/12/03(日) 21:34:11 ID:SVXcHNcE0
引数のないユーザー定義関数は、基本的には任意の返り値を出すのに使う。
より詳細に言うなら、開発者側で定義できない、任意のタイミングで変動する値を
返り値として出したい場合に有効。
既存の関数になぞらえるなら、GetPlayerX、GetPlayerYのような感じかな。
それを応用して、
function BossX{return ObjMove_GetX(objEnemy);}//ただし、ボスのオブジェクト名をobjEnemyとする
とでもやれば、ボスのX座標を自動的に返り値として出すことができる。
もしもWay弾や全方位弾の処理に引数のないユーザー定義関数を当てはめるという意味なら、
サブルーチンと何の違いもないと思う。

138 名無し妖精 :2017/12/04(月) 16:10:34 ID:v6got0V.0
このスレの主流てv2とph3 どっち?
質問する時ってあらかじめどっちか宣言したほうがいいかな

あとph3 だけどscc2見ながら勉強してるんだけど球がちょっと多くなると激重になるんだが解決策ありますか?描写は可変です
マシンスペックあげたら改善します?

139 名無し妖精 :2017/12/04(月) 18:00:29 ID:u3atISjc0
その、ちょっと多くなると、っていうのが何発ぐらいのことを言ってるのかが不明なので何とも……。
うちのPCでは、画面内の弾数が3000超えたら処理落ちかかってくるけど。

140 名無し妖精 :2017/12/04(月) 19:21:40 ID:rdfPkkoA0
うちは1200くらいかな。パッケージ起動と、外枠関数が重くしてるけど…

141 名無し妖精 :2017/12/04(月) 21:16:07 ID:u3atISjc0
パッケージからの起動だと、そんなに重くなるのか……。
じゃあ、軽くてすんでるのはPluralの状態だからなのかもしれない。
メインシステムの点数とかの数値表示系タスクなんかは、配列でまとめて
ascentループで起動しちゃってるんだけどね。
ちなみに、PluralでBGMとSEがついて、その状態で表示3000発まで
処理落ちしないっていうのは軽いほうなのかな?

142 名無し妖精 :2017/12/04(月) 22:02:31 ID:v6got0V.0
球数ってどうやってみるん?

143 名無し妖精 :2017/12/04(月) 23:40:58 ID:u3atISjc0
弾数はGetShotCountで出せる。
数値を表示したいのなら、メインシステム内のタスクをうまくいじれば可能。

144 名無し妖精 :2017/12/05(火) 02:09:59 ID:/dxdvh9o0
ありがとう
scc2の祝いの風って奴なんだがfps20程度まで落ち込む

145 名無し妖精 :2017/12/05(火) 08:10:31 ID:fh2hVvOA0
もしかしたらだが、そっちの環境の問題かもしれない。
テストプレイしてみたけど、別に処理落ちしなかったから。
うちの環境は、6年ぐらい前に買った、ミドルエンドのドスパラPCなんだが、
問題なく動いた。

つーことは、俺が組んでみた正六角形の動く星床と渦巻きレーザーなんて組み合わせは、
>>144の環境だと間違いなく処理落ちしそうだな……。

146 名無し妖精 :2017/12/05(火) 16:14:07 ID:Z51JQ8BU0
昨今のPCゲーム市場とか見る限り、未だにVistaや7使ってる人はスペック的にそろそろ厳しくなってきてると思う。
(メモリ足したりグラボ取り替えてる人はまだいいとして)

とはいってもみんなスマホだし、PC持ってる方がもはや少数派か…。

147 名無し妖精 :2017/12/05(火) 16:40:03 ID:/dxdvh9o0
弾幕風って10にも対応してるの?
10ならハイクラスのやつがあるんだが

148 名無し妖精 :2017/12/05(火) 16:42:54 ID:hW.qdk6g0
PCゲーのツールを使う場でPCの普及率が低下とか言われても何の意味もないんですが
愚痴りたいだけなら存在が不愉快だからどっかいって

149 名無し妖精 :2017/12/05(火) 19:14:50 ID:J/o/7i7U0
>>147
V2、ph3共に動作はする。V2は「管理者として実行」しないと動かなかった記憶がある(vpatch使う場合はVpatchのみ管理者として実行)。あとfpsが不安定かも。

150 名無し妖精 :2017/12/05(火) 19:15:27 ID:J/o/7i7U0
>>146
ここそういうスレじゃないんで…

151 名無し妖精 :2017/12/05(火) 22:49:35 ID:Z51JQ8BU0
>>148
ごめんね、スレチだったね。

152 名無し妖精 :2017/12/06(水) 09:17:27 ID:uv/gWzzE0
スクリプトファイルのエンコードをshiftJISからUTF16LEに変えたら、
ロードの時に軽くなるかなと思ったんだけどincludeの相対パスが仕事しねぇ…。
絶対パスなら問題なく動くんだけど

153 名無し妖精 :2017/12/07(木) 01:41:18 ID:cDq3eXWg0
タブインデントなんか、半角×2で十分なんだよな。
何で半角×8がデフォルトになってるんだか……。

154 名無し妖精 :2017/12/07(木) 03:07:20 ID:Ikf7CiwM0
重たいってのが大規模スクリプトへの絶対的な障壁になってるのか
独自言語だからその辺は仕方ないのかね

155 名無し妖精 :2018/01/06(土) 15:11:01 ID:JNcxnL960
>>154
あと大規模スクリプト関連の技術的な話題がここで殆ど出なくて
知識や技術の共有が行われないというのもある。あと単純に人が居ない。

年跨いでレスしてすまぬ

156 名無し妖精 :2018/01/06(土) 15:28:51 ID:JNcxnL960
一応自分もパッケージスクリプト弄ってる人間なので話題を投下できなくもないんだけど、
如何せん内容が複雑というか規模が大きいので、どっから話せば判りやすいのかというのが判断つかないのよね

流れ的には[Single]で単発の弾幕を最初に作って、
それが何個も出来るようになったら[Plural]で数珠繋ぎにしてボス戦を作り、
作ったボスと雑魚編隊と(できれば背景)を追加した[Stage]の一連まで作れるようになってから
パッケージスクリプトに触れていくと丁度いいんじゃないだろうか。多分いきなり[Package]から挑むと挫折する。

157 名無し妖精 :2018/01/12(金) 17:02:08 ID:MJb3Ei6s0
v2とph3で、神5面の背景にある塔?のようなモノを再現しようとしてるけど、中々上手くいかない…
あと、神6面の背景はsin系で描画してるの?

158 名無し妖精 :2018/01/12(金) 20:24:32 ID:siuOqhqM0
神の5面と6面はどれも内部的には同じ処理だと思う(カメラアングルや位置が違うだけっぽい)
cosとsinの極座標制御をXY軸からXZ軸に変更してやればいい。

面倒くさかったらph3でメタセコイア(mqo)ファイルを読ませるという手もある。いやこっちの方がモデリング作業で余計面倒か…w

159 名無し妖精 :2018/01/13(土) 16:24:03 ID:4cOXHq.o0
弾がぶつかるときってできますか

160 名無し妖精 :2018/01/13(土) 18:34:40 ID:.PMF0e2A0
>>159
「弾」が「何に」ぶつかるときなのか判らんので適当にエスパーしますが
もし「弾同士」ならばオブジェクト弾で弾の位置を取得して、距離比較してあげてください

161 名無し妖精 :2018/01/13(土) 20:55:11 ID:4cOXHq.o0
>>160
ありがとうございます
弾同士です

162 名無し妖精 :2018/01/19(金) 01:18:30 ID:iESKDV5o0
>>158
なるほど、Z座標を指定するとは思わなかった…しかし円筒背景をどうやるか思い出せない…
let angle=0;
loop(180){
//一部省略
SetGraphicAngle(angle,0,angle);
DrawGraphic3D(X+radius*cos(angle),0,Z+radius*sin(angle));
angle+=2;
}
こんなんだったかな…?


新着レスの表示


名前: E-mail(省略可)


BigBlue 1台3役 充電式カイロ 6000mAh大容量 モバイルバッテリー LED照明ライト メンズ 冷え対策 ハンドウォーマー USBカイロ 両面暖かい 保温グッズ プレゼント / BigBlue


   r,ヘ──- ,ヘ_
   rγー=ー=ノ)yン´
   `i Lノノハノ」_〉       _。_ ∫  冷やしすぎると体に毒よ
   Y|l |i| ゚ - ゚ノi| ∬   c(_ア   適度に暖めておきなさい
  |!γリi.ハiつ〔凵 -=ニニニニ=-
  ||(ン llゝヘヽ)        ||   
   厂 ̄ル(ノ、j┘      儿


掲示板管理者へ連絡 無料レンタル掲示板 powered by Seesaa