https://linen.dev logo
号車番号について
# forum
l
カスタムボタンを使用した、号車番号の表示を行うのですが、先頭車(自分が現在乗っている号車)を1として、後ろの号車に行くにつれて数字もずらして 表示させていくことは可能なのでしょうか。
これとは違うんですか
活用したら出来そうです
l
自分が無知なもので、すみません。 調べたり、聞いたりしてはみたのですが、それで現在号車を取得した後に、その号車に合った数字のモデルを描画させることまで辿り着くことが難しくて、行き詰まっています。
s
caseごとに分岐なら無難にswitch構文ですかね
c
私は今軍人身分のせいで長文説明するには不適切な環境なのでそこについては他の有識者さんが助けてくれると信じます
UVずらしたりの方法だったらswitch使わずにも出来そうですけど
s
Copy code
javascript
switch(号車){
    case 1:1号車.render(renderer);
    case 2:2号車.render(renderer);
    case 3:3号車.render(renderer);
}
みたいな 自分も詳しくないからあれだけどこんな感じならすぐにできそう
p
自分の意識した実行がなされていないと感じた場合、以下の原因がありえます ①そもそも号車取得ができてない ②モデルの設定が適切でない ③if文、switch文が誤っている これらを確認するためにlog出力を行う関数を設置し、値を読み取れているか、条件分の中に達しているかなどを確認しましょう。そうすることで構想が頭の中だけで止まり、結果初歩的なところで見落としてしまうのではなく、動作ができていることを事実として捉えられ、スクリプト開発を効率的に行うことができます。 本題とは逸れてしまいますが、このような事を留めて、自分が原因であると思っていることが事実かどうか確かめることを勧めます。すでにやっていたらすみません。
↑ちなみにMinecraft内においてチャット欄にスクリプトの内容を流す方法は
Copy code
javascript
号車取得
Packages.jp.ngt.ngtlib.io.NGTLog.sendChatMessageToAll(号車取得変数);

条件文{
 Packages.jp.ngt.ngtlib.io.NGTLog.sendChatMessageToAll(“目印A”);
 Parts.render(renderer);
}
今回の場合、現在及び今後の構想段階でこのように関数を追加することで、実行時に適時客観的な事実を享受できるようになります。
e
Notice that if
break;
is not used, all commands before the current one will be executed. For example,
Copy code
js
var n = 1;
switch (n)
{
  case 0:
    Xindian.render(renderer);
  case 1:
    Songshan.render(renderer);
  case 2:
    Taipower_Building.render(renderer);
}
Will eventually execute Songshan and Taipower_Building. To avoid this, modified the script to
Copy code
js
var n = 1;
switch (n)
{
  case 0:
    Xindian.render(renderer);
    break;
  case 1:
    Songshan.render(renderer);
    break;
  case 2:
    Taipower_Building.render(renderer);
    break;
}
Also, if you wanna make a system that is suitable for any random alignment, maybe you can first make the number plate of 0, 1, …, 9, then using the method to get the car number, along with moving the position of the plate and render it. Also, if you know how to make those number plate objects an array,
numberPlate[carNumber % 10].render(renderer);
also helps a lot.
l
みなさんの意見を取り入れて試行錯誤したところ、動作につなげることができました。 ありがとうございました。 After incorporating everyone's opinions and doing some trial and error, we were able to make it work. thank you very much.