[過去ログ] 一人で完成まで頑張るの寂しいからかまって [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
770: 60 某犬犬 ◆HzfAAjcl8nz1 2019/12/26(木)00:43 ID:KYDo60Ky(2/3) AAS
説明の都合で共通処理の様に書いてるけど
それぞれ別イベントで異なった処理をする
成功なら自動操縦の処理をして着陸させる
オーバーランならメッセージを出して
最初からやり直す
衝突だったら爆発する
>・フレーム・カウンタ >= 20 なら
> ・終了/リトライ/ゲームオーバー
暫定的に20としてるけど
終了は自動操縦が終わってからだし
ゲームオーバーは40位まで爆発させる
書籍の様に完成したコードを
解説してる訳じゃ無く
作りながらの進捗報告と言う体で
進めてるので、弄ってる最中の部分への
意見はしなくてえぇよ
つうかワイがツクール先生で
おまいさんらが生徒だからな
勘違いすると単位やらんぞ
771: 60 某犬犬 ◆HzfAAjcl8nz1 2019/12/26(木)02:38 ID:KYDo60Ky(3/3) AAS
墜落後の爆発を作った
恒星系の処理からコピペして
ダメージの部分を取り除いた
爆発中は自機の移動をキャンセル
爆発が止んだらゲームオーバー
未使用のガイドの消去を追加
間違って描画されていたので修正
772: 60 某犬犬 ◆HzfAAjcl8nz1 2019/12/27(金)05:56 ID:GhGUwzRL(1) AAS
着陸成功後の自動操縦を実装した
着陸地点に到着したら
自動操縦で下記の方向へ
微調整して接地する
・ロール、ピッチ、ヨーを正面
・X,Y座標を着陸地点(Zは停止)
接地直後にピッチを上下して
画面を縦揺れさせる
成功フラグ等は実際には
状態遷移を表す整数になっている
・開始
↓
・接近、効果音
↓
・自動操縦
↓
・画面振動
↓
・完了、フェードアウト
773: 60 某犬犬 ◆HzfAAjcl8nz1 2019/12/28(土)22:32 ID:MSF0br0h(1) AAS
自機のプラズマ球が一つだけ
点滅するバグを修正した
ボスの部位の攻撃が画面に
ゴミとして残るバグを修正した
何方もピクチャ番号の計算が
間違っていただけ
774: 60 某犬犬 ◆HzfAAjcl8nz1 2019/12/29(日)00:45 ID:ig6nZgh8(1) AAS
ガイドの通過判定を入れた
ガイド・ビーコンを
潜り抜けた時と外した時に
其々の効果音鳴らす様にした
自機に一番近いガイドの
イテレータを保持して置いて
それ限定で当たり判定を
する事で最適化した
775: 60 某犬犬 ◆HzfAAjcl8nz1 2019/12/30(月)01:58 ID:9MHHNgfE(1) AAS
夜間着陸のマップを作った
20x20サイズのマップを
左上から1タイルずつ舐めて行き
タイルのIDに応じて
500x500の座標範囲に
ビルや道路等の灯りを配置する
全体でX,Z座標が-5000から+5000の
領域に収まる
スタート地点や着陸地点の
タイルIDが有ったら
変数に座標を入れて置く
余った灯りのピクチャは
ランダムに配置する
画像リンク
776: 60 某犬犬 ◆HzfAAjcl8nz1 2019/12/31(火)03:45 ID:LnEPoFcy(1/2) AAS
灯りのマップ配置に道路を追加した
残りは滑走路
街灯りと着陸地点の画像を作った
仮当てしてたものと挿げ替えた
777: 60 某犬犬 ◆HzfAAjcl8nz1 2019/12/31(火)06:23 ID:LnEPoFcy(2/2) AAS
夜間着陸のHUDを作った
ビル街の速度のHUD処理を呼ぶ
最高速度とブーストの設定を弄って
速度メーターをレッドゾーン無しにした
自動接地時に速度を
0まで落とす様にした
778: [age] 2020/01/03(金)16:22 ID:wvoZmWLS(1) AAS
PSリメイク版ドラゴンクエスト?やる。その2
動画リンク[YouTube]
779: 60 某犬犬 ◆HzfAAjcl8nz1 2020/01/15(水)08:09 ID:rOvcYbNu(1) AAS
あけおめ、ことよろ
着陸が成功した時と
着地点を通り越してオーバーランした時に
それのメッセージを描画する様にした
墜落時は空の画像にして置いたので
仕様変更で描画する事になったら
画像を差し替えるだけで対応できる
780: 60 某犬犬 ◆HzfAAjcl8nz1 2020/01/16(木)02:51 ID:yJKk7MsJ(1/3) AAS
街灯りのマップ配置処理に
滑走路の分を追加した
これで夜間着陸は一通り出来た
後はS-IIIのパワーアップを
受け取れる惑星の数だけマップを作る
多分あんまし考えずに
フィーリングで量産できる
781: 60 某犬犬 ◆HzfAAjcl8nz1 2020/01/16(木)04:50 ID:yJKk7MsJ(2/3) AA×

782: 60 某犬犬 ◆HzfAAjcl8nz1 2020/01/16(木)05:06 ID:yJKk7MsJ(3/3) AAS
去年末は先生ぶってイキって仕舞い大変スマンコ
たまに来るケチを付ける奴と勘違いしますた
三次大戦を前におまいらと和解せよする等した
783(1): 60 某犬犬 ◆HzfAAjcl8nz1 2020/01/17(金)05:57 ID:PnY//fJ0(1/2) AAS
動画リンク[YouTube]
「スペースSSS」RPGツクール2003用3DシューティングRPG 進捗動画 #014
夜間着陸のサブ・ゲームが出来ました。
緑のガイド枠を潜り抜けて、戦艦を滑走路に着地させます。
ブログ、Twitter、5chで毎日進捗と技術解説をしているので見に来てね。
制作:某犬犬
Web: 外部リンク[php]:lnl.osdn.jp
Twitter: Twitterリンク:schrochan
BGM素材は「サイバーレインフォース」さんの提供です
著作者:Cyber-Rainforce
HP:3104式
URL:外部リンク:cyber-rainforce.net
Twitterリンク:5chan_nel (5ch newer account)
784: 60 某犬犬 ◆HzfAAjcl8nz1 2020/01/17(金)06:00 ID:PnY//fJ0(2/2) AAS
>>783
動画リンク[YouTube]
続編では、こんな感じにしたい
785: 60 某犬犬 ◆m6HUWv.YwMNd [age] 2020/10/10(土)13:47 ID:O4TZOpDd(1/2) AAS
今年は図書館でクエスト量産する予定だったが
この世界情勢なので放置してたスマンコ
ネットで図書館の代用できそうなのだが
その前に2件ほど別プロジェクトを割り込ませる事にした
取りあえず、昔誰かが作った戦車のフリゲをリメイクする
786: 60 某犬犬 ◆HzfAAjcl8nz1 [age] 2020/10/10(土)14:21 ID:O4TZOpDd(2/2) AAS
トリップ違ったな これか?
Linux版ツクールMV用にJavaScriptでプラグイン書いた
スタック管理、構造体、文字列、スプライト等の
個人的便利ライブラリになった
MVはスーファミ時代のアセンブラ風味で
ゲーム職人気分が味わえるので良い
画像リンク
ミニゲームだから多分そんなに時間かからんじゃろう
787: 60 某犬犬 ◆HzfAAjcl8nz1 2020/10/11(日)08:05 ID:GUOUnJKr(1) AAS
全戦車の座標の最小値と最大値を求めて
最小値が画面の左端、最大値が右端になる様に拡大率%を計算する
キャラがはみ出ない様に、X,Y方向の拡大率の小さい方を優先する
拡大率 = 100 * マップ幅 / (最大値 - 最小値)
最小値と最大値の平均を画面の中央にする
描画X = ((X - 平均X) * 拡大率 / 100) + 画面中央X
スマブラみたいにキャラが接近すると、画面がズームインする
788: 60 某犬犬 ◆HzfAAjcl8nz1 2020/10/13(火)21:44 ID:XF7fjAAi(1) AAS
戦車は直ぐ下に地面が無ければ落下して
地面より下にいるなら、地面の表面に瞬間移動する
地面が坂道なら、戦車も斜めに移動する
斜め移動用Y = 戦車X % タイル幅 * 地面の傾斜正負
MaxY = 地面Y + 斜め移動用Y - 地面からの高さ
戦車Y < MaxY なら 戦車Y += 重力の速度
戦車Y > MaxY なら 戦車Y = MaxY
スプライトゲーなのでY座標は
画面上がマイナス、下がプラス
ゲームなので定速度運動させるため
重力加速度でなくて「重力の速度」を使ってる
地面の傾斜は45度にしているので
「戦車X % タイル幅」から「斜め移動用Y」が出てくる
789: 60 某犬犬 ◆HzfAAjcl8nz1 2020/10/14(水)00:01 ID:IG25C6ZR(1) AAS
地形に合わせて戦車の車体の角度を変える
着地回転率 = タイル高さ - (MaxY - 戦車Y)
着地回転率 < 0 なら 着地回転率 = 0
角度 = 戦車の右端の地面の角度 - 戦車の左端の地面の角度
角度 = 角度 * (戦車の左端X % タイル幅) / タイル幅
角度 += 戦車の左端の地面の角度
角度 = 角度 * 着地回転率 / タイル高さ
戦車が移動しながら
「戦車の右端の地面の角度」と「戦車の左端の地面の角度」の
差の分だけ車体が回転する
降下中は水平で、着地の寸前に「着地回転率」で
地形に角度を合わせ始める
790(1): 2020/10/14(水)17:36 ID:pBSMkFVM(1) AAS
ウディタって何が楽しいの?
技術力が上がるわけでもないし。
791: 60 某犬犬 ◆HzfAAjcl8nz1 2020/10/15(木)03:18 ID:BBzmqpLY(1/2) AAS
>>790
俺は 1 じゃ無くて >>60 な
792: 60 某犬犬 ◆HzfAAjcl8nz1 2020/10/15(木)23:38 ID:BBzmqpLY(2/2) AA×

793: 60 某犬犬 ◆HzfAAjcl8nz1 2020/10/16(金)10:18 ID:KbkqyE7G(1) AA×

794: 60 某犬犬 ◆HzfAAjcl8nz1 2020/10/21(水)04:33 ID:RUOoQd+z(1/2) AAS
JSプラグインで、変数番号の変数にアクセス出来る様にした
変数番号をアドレス、変数番号の変数をポインタ外し、として扱った
getEfxAdr nDst nSrc:
nDst = &nSrc;
nSrcの変数番号をnDstに入れる
getIndVar nDst pSrc:
nDst = *pSrc;
pSrcの変数番号が指す変数の値をnDstに入れる
setIndVar pDst nSrc:
*pDst = nSrc;
nSrcの値をpDstの変数番号が指す変数に入れる
getEfxAdrSwitch bDst pSrc:
bDst = &pSrc;
pSrcのスイッチ番号をbDstに入れる
getIndSwitch bDst pSrc:
bDst = *pSrc;
pSrcの変数番号が指すスイッチのOn/OffをbDstに入れる
setIndSwitch pDst bSrc:
*pDst = bSrc;
bSrcのOn/OffをpDstの変数番号が指すスイッチに入れる
795: 60 某犬犬 ◆HzfAAjcl8nz1 2020/10/21(水)04:33 ID:RUOoQd+z(2/2) AAS
プラグインの引数に変数番号では無く、変数の名前を与える事で
変数の並びを変えた時の修正ミスや手間が省ける
「変数名から変数番号(アドレス)を得る方法」
・キャッシュ[変数名] に値が入っているなら
・キャッシュ[変数名] を変数番号として返す
・ループ
・$dataSystem.variables[i] == 変数名 なら
・キャッシュ[変数名] = i
・i を変数番号として返す
「$dataSystem.variables[]」に
ツクールの変数が変数番号順に入っている
796: 60 某犬犬 ◆HzfAAjcl8nz1 2020/10/25(日)06:44 ID:Gy2RzjYB(1/2) AAS
構造体の配列をプラグインで管理した
&foo は変数名 foo を指定する参照渡し
struct は、プラグインのサブ・コマンド
struct iter は、サブ・コマンドのサブ・コマンド
BkkSprite struct init &ctrlHead &iterHead &iterTail &max
BkkSprite struct alloc &ctrlHead
init で管理領域を設定して
alloc で実際にスタック上にデータ領域を確保する
BkkSprite struct iter isBegin &ctrlHead &result
BkkSprite struct iter isEnd &ctrlHead &result
BkkSprite struct iter begin &ctrlHead
BkkSprite struct iter end &ctrlHead
イテレータの終了チェックと、イテレートの開始/終了
BkkSprite struct iter at &ctrlHead &idx
イテレータの値を直接指定して、そこへ飛ぶ
BkkSprite struct iter ++ &ctrlHead
BkkSprite struct iter -- &ctrlHead
イテレータを進める
基本的に要素の削除は無くて
代わりに使用中フラグをメンバーに入れて置くか
またはスタックごと開放して、リセットで最確保する
797: 60 某犬犬 ◆HzfAAjcl8nz1 2020/10/25(日)07:20 ID:Gy2RzjYB(2/2) AAS
データへのポインタを列べたイテレート領域を使って
構造体のメンバーにアクセスする(管理領域とは別物)
「構造体 Tank のイテレート領域」
Tank.type
Tank.x
Tank.y
BkkSprite getIndVar n Tank.type
で Tank のメンバー type を変数 n に読み込む
Tank.type はイテレート領域のポインタ変数名
BkkSprite setIndVar Tank.type n
は、逆に変数 n の値をメンバー Tank.type に書き出す
要するに、スタック上のデータ配列に対して
メンバー名でアクセスする為の仕組み
モトローラの680x0系アセンブラが分かる人なら
「ディスプレースメント付きアドレスレジスタ間接アドレッシングモード」
見たいなものと言えば伝わるだろう
ツクール2003では、コモンイベントのコマンドで実装してたけど
MVは「変数番号の変数」が使え無いのでプラグインにした
798: 60 某犬犬 ◆HzfAAjcl8nz1 2020/11/06(金)04:44 ID:R9EDHC1C(1) AAS
被弾時の爆発が何処かを弄ってる内に描画できなくなったけど
MVの変数は設定した上限を超えるとアクセス出来ない様だ
2003ではおkだけど、多分変数番号の変数で扱える為なのだろう
見た感じコードには何処にも間違いが無さげで数日ハマった
799: 60 某犬犬 ◆HzfAAjcl8nz1 2020/11/11(水)13:37 ID:0pHfwJIV(1/3) AAS
爆発はテクスチャ・アニメの種類毎に
「けむり」「閃光」「炎」に別けて画像をロードする
構造体の配列は共有してるので
描画する時は種類を見て別々に処理する
「けむり」のアニメをゆっくり目に描画しながら
始めに「閃光」を一度だけ生成して
一定フレーム毎に「炎」も生成する
「けむり」のアニメが終わったら
マップや戦車を再生成して次の対戦に遷移する
上下前次1-新書関写板覧索設栞歴
あと 203 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.081s