GMLについての豆知識を集積するスレッドです。
ざっくりとしたテーマ設定ですが、とりあえずゆるく始めます。
「えっそうなの?それマニュアルに書いてあった?早く教えてよ!」
と感じたことなどをメモっぽく投稿しようかなと思います。
※実際マニュアルに書いてあるか無いかは、重視しません。ゆるくいきます。
GMLについての豆知識を集積するスレッドです。
ざっくりとしたテーマ設定ですが、とりあえずゆるく始めます。
「えっそうなの?それマニュアルに書いてあった?早く教えてよ!」
と感じたことなどをメモっぽく投稿しようかなと思います。
※実際マニュアルに書いてあるか無いかは、重視しません。ゆるくいきます。
instance_activate/deactivate関数の中で、regionは一番遅い。
ソース:https://forum.yoyogames.com/index.php?threads/instance_activate-deactivate_region.91279/#post-547929
タイルはビューの外では自動的に非アクティブ化される。
ソース:https://forum.yoyogames.com/index.php?threads/instance_activate-deactivate_region.91279/#post-547947
さらに言うと、ただの静止画・背景ならば、頂点バッファを使って描画すれば一番軽い。
ソース:https://forum.yoyogames.com/index.php?threads/instance_activate-deactivate_region.91279/#post-547947
(頂点バッファとか、未だに全然分からない)
自分1ルームで全ステージをタイルで表現してるんですけど、なんでこんなに軽いんだろっておもってましたがそういうことだったんですね
1ルームでやってたんですね!
効率がむっちゃ悪い作り方してました...
タイルで衝突判定するってチュートリアル動画があって、どんな利点があるんだろうと思ってましたが、そこが利点なのでしょうねー。
spriteのcollision maskは、ビルトイン変数と連動して拡大縮小、反転する。
これらを独自の変数に代えたら、描画と当たり判定を分離できる。
キャラを左右反転する場合。
image_xscaleは1のままにする。
独自の変数(例:xscale)で-1を指定し、draw_sprite_extで描画する。
反転でcollision maskがずれないようにするには、
collision maskの幅を偶数pxにして原点を中央にする方法でも可(たぶん)。
collision mask の幅は偶数だと自分は引っかからなくなったので、それで。
うっかりしがちのところでは、当たり判定の回転は direction ではなく image_angle に適用されるというところでしょうか。
とすると当たり判定は回転しないっていう
そうですね、sprite描画の角度はimage_angle、移動量に関する角度はdirectionですので、
そのようにビルトイン変数を使い分けるといいと思います。
draw_healthbar()という、HPバーを描画するための関数がある。
スクリプト関数とメソッドの違いについて。メモリの確保に違いがあるという話。
まだ私には「日本語でOK」な感じがありますが。理解したい。
https://forum.yoyogames.com/index.php?threads/functions-cause-memory-leak.91875/#post-551875
メソッドについて。
このように、
を書くと、
メソッド変数に色が付き、F1キーで定義箇所を開けるようになる。
(Ctrl+Tで検索もできるようになるっぽい)
これはえぐい豆知識ですね!
ただ同名のものがあるとそっちが開いたりしますね
可能なら名前がダブらないようにした方がいいと思います
そこですよね...