☆ベルトアクション作成 Beats of rageスレッド☆ (654レス)
☆ベルトアクション作成 Beats of rageスレッド☆ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
127: 名前は開発中のものです。 [sage] 2021/05/10(月) 00:05:01.81 ID:LcOGIvvu >>118 で説明しようとしてた Entityの内容がこれになります。 name Charm type none anim idle @script void self = getlocalvar("self"); int Parent = getentityvar(self,1); if(frame==1) { setdrawmethod(Parent, 1, 128, 128, 0, 0, 0, 6); changedrawmethod(Parent,"tintmode",3); changedrawmethod(Parent,"tintcolor",rgbcolor(128, 255, 255)); } if(frame==3) { setdrawmethod(Parent, 1, 256, 256, 0, 0, 0.5, 0); changedrawmethod(Parent,"flag",0); changeentityproperty(Parent,"hostile","TYPE_PLAYER","TYPE_NPC"); changeentityproperty(Parent,"type",openborconstant("TYPE_ENEMY")); changeentityproperty(Parent,"candamage","TYPE_PLAYER","TYPE_NPC"); } @end_script delay 1 frame data/chars/misc/empty.gif delay 220 frame data/chars/misc/empty.gif delay 1100 frame data/chars/misc/empty.gif delay 1 frame data/chars/misc/empty.gif http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/127
128: 名前は開発中のものです。 [sage] 2021/05/10(月) 00:23:14.55 ID:LcOGIvvu >>116 のスクリプト中に clearspawnentry(); setspawnentry("name", "Charm"); void Ceff = spawn(); setentityvar(Ceff, 1, target); bindentity(Ceff, target, 0, 1, 0, 0, 0, 0); このような感じでMODEL.txt で設定した Entity CharmをBindentityしてあげると name Charm の親Entity(攻撃がヒットした相手)の情報がCharmに収納され 一定時間(delay 1100) frame data/chars/misc/empty.gifが実行されると Frame==3で 元のEntity、changeentityproperty(Parent,"type",openborconstant("TYPE_ENEMY")に戻ることになります。 こういう閃きが出来る方って本当に凄いと尊敬します。 私はスクリプトの中身を読んで「ほへ〜凄いなー」となって、何も考えずコピーして「動いたー!」 さっそくスレに書き込むことしかしないので、どういう経緯でこうなるのか基本全く分かりません。 世の中には凄い人が沢山いるものです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/128
129: 名前は開発中のものです。 [sage] 2021/05/10(月) 01:02:42.20 ID:LcOGIvvu >>126 さん、私は適当に人様のMOD内を覗き込んで、スゲーと思ったことを こちらに転載してるだけなので、何の取り柄もありませんが分かる範囲では、 敵同士の「重なり判定」については謎になってます。 きっと調べる手段はあると思います。 実際、画面上に存在するキャラ(TYPE_ENEMY)の数をカウントするコマンドは存在します、 カウント数からPROPERTYを取得、さらに座標を取得して、互いにぶつからない様処理することは たぶんですが、可能だとは思います。 MODのMIXMASTERSでは、そのコマンドを利用して画面上の全ての敵、味方にHPアップや 一斉攻撃などを実現していました。 プレイヤーについてはGetPlayerPropertyで1〜4プレイヤーの情報取得が簡単になってます。 しかし敵については漏れることもあり(画面端でボーっとしてたりw)、けっこう大雑把でもありました。 一番簡単なところでは、各敵キャラをSPAWNさせる際に changeentityproperty(vSpawn, "speed", (rand()%14)+6); 動くか分かりません。 こんな風に移動速度("speed")にランダム要素を組み込む感じで、 移動速度をずらす位にして置いたほうが悶絶しなくて済むかもです。 Entityの性格づけにSubtypeやAimoveなどいくつか設定できるものもありますが、 敵同士で移動の衝突判定して、それを避けるようなものは私はまだ見た事がありません。 そこまで細かく判定してないからこれだけOpenBoR Engineが軽いんじゃないかな?と想像してます。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/129
130: 名前は開発中のものです。 [sage] 2021/05/10(月) 01:16:10.44 ID:LcOGIvvu せっかくラッシュな感じで敵を大量に出現させても、 重なって団子になってしまうと興ざめな部分もありますよね。 かといって敵があまりにランダムな動きをしてしまうと、 それはそれで、、、となってしまいます。 このスレでも度々お世話になっている、kt住江氏のMODを遊んでいると、 絶妙な敵のコンビネーション(ザコは固まるし、バラける、ボスは適度に意地悪) ステージの作り方でどちらも一方的にならないように工夫されているなど、 OpenBoRの基本システムだけで表現しているので、とても参考になるかと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/130
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s