https://linen.dev logo
「`renderer`」って 一体何?
# forum
t
特に何かに困っているというわけではなく申し訳ないのですが、描画スクリプトで当たり前のように使用している`renderer`というやつは、一体何なのか疑問です `registerParts()`メソッドがあることを考えると、その本体は`jp.ngt.rtm.render.PartsRenderer`クラスだと考えるのが妥当だと思うのですが、そうであればなぜ`PartsRenderer#registerParts`の形で利用することをしないのでしょうか なにかお心当たりのある方がいらっしゃれば教えていただければ幸いです -# これが疑問に思った理由としては、`importPackage()`を使用せず直接各クラスをimportした際に、`PartsRenderer`クラスをimportしなくても正常に動作したので中身が何なのか気になったためです
h
"renderer"はRTM側から付け加えられた変数で、スクリプトの冒頭に書いているvar renderClass = "~"で指定したクラスのインスタンスが与えられるっぽいです。 参考:RTMRenderers#getRendererWithScript
renderer.registerPart(~)ではなくPartsRenderer.registerParts(~)と直接使用した場合は引数のパーツがどのモデルと結びついてるか識別できないため、モデルごとにデータ(renderer)を作ってrenderer.registerPartsでそのデータに紐づいて登録してる感じなのかなーと思います(インスタンス化)。
t
なるほどそれぞれのモデルのインスタンスと結びつけるために別で渡しているということなのですね
確かに`renderClass`を取得して`renderer`としてputしているように見える
3 Views