問題タブ [scntext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Swift Scenekit - Centering SCNText - getBoundingBoxMin:Max の問題
SCNTextのalignmentModeオプションを楽しんでください。グーグルで調べてみると、alignmentMode と containerFrame に問題があるようです。私が見つけた代替手段は、バウンディングボックスの取得機能を使用してテキストサイズを見つけ、それに応じて手動で調整することを提案しています。私が機能を働かせることができないことを除いて素晴らしい。2 つのベクトルを取得しようとすると、エラーが発生します。
「SCNVector3」は「UnsafeMutablePointer < SCNVector3>」に変換できません
ジオメトリとノードの両方でそれを取得します。コードの例は以下です
どんな提案でも大歓迎です。
ios - SCNText の文字列の値を変更しても変化なし
ジャイロを読み取り、SCNText
ジオメトリの文字列をジャイロのヨー値に変更しています。変更は、1/30 秒ごとに呼び出されるジャイロ ハンドラー内で発生します。SCNText
ジオメトリは Interface Builder で作成されました。
このコードを使用して、テキストへの参照を取得しています。
後でジャイロハンドルでこれを行います:
NSLog
は値を正しく出力しますが、に変更はありませんSCNText
。
はい、メイン スレッドのテキストを変更しようとしました。変化なし。
ios - SCNText getBoundingBoxMin:max: 常にゼロ
の境界ボックスを決定しようとしていますSCNText
が、 getBoundingBoxMin:max:
常にゼロになります。
SCNText
これは、クラス拡張内で実行されるコードでself
あり、[textNode geometry]
.
私もこれを試しました
sizeMax
は常にゼロです。
注: 問題が発生する理由を発見しました。
この調整が次のようにブロック内で呼び出されると、問題が発生します。
したがって、メインスレッドからこのコードを呼び出すと、動作します:
しかし、これを別のスレッドから呼び出すと機能しません
問題は、このブロックがディスパッチ ブロックから呼び出されることです。そのため、メイン キューに再ディスパッチする必要がありますが、そうするとコードが機能しなくなります。理論的には、ブロックをメイン キューにディスパッチすることは、メイン スレッドからブロックを実行することと同等のはずですが、明らかにそうではありません。
皆さんは何か回避策を知っていますか?