問題タブ [ccnode]

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.

0 投票する
0 に答える
115 参照

cocos2d-iphone - CCScene からの CCNode のハンドル ボタン

cocos2d v3 でゲームを作成しています。に、HUD のすべてのコンポーネントを含むCCSceneを追加します。CCNodeCCNode には、 がCCButton追加されています。でこれらのボタンのタッチを処理できるようにしたいCCScene。それは可能ですか?もしそうなら、それはどのようにエレガントに行われますか?

今朝テストして動作しているコード:

CCNodeヘッダー ファイル (ヘッダー クラス):

CCNode の実装ファイルにゴールド ボタンの基本 (配置、スプライト フレームなど) を設定します。

CCScene実装ファイル (PlayScene クラス):

シーン内でボタンのターゲットを設定するのは少し奇妙に思えますが、うまくいきます。もしそうなら、この状況の「ベストプラクティス」について疑問に思っています。

0 投票する
1 に答える
54 参照

ios - FOR文内でCCNode/CCSpriteを取得

多数の CCNodes があり、すべて同じクエリが実行されています。コードを合理化しようとしていますが、FOR ステートメント内で CCNodes を取得できるかどうか疑問に思っています。

たとえば、次のような NSArray 内に CCNodes 参照があるとします。

FORステートメント内でそれらをどのように参照しますか?

これは可能ですか?

0 投票する
1 に答える
146 参照

ios - CCSprite の位置を取得する

少し混乱しています。ある CCSprite を別の CCSprite の位置に移動しようとしています。簡単だと思ったのですが、CCSprite が正しく配置されていません。私は2つのCCSpritesを持っています:

次に、EMPTY SPRITE (実際には空ではない) の位置を取得しようとしています。

私はそれをアニメーション化しています:

これにより、スプライトが画面の外に出ます。私は何を間違っていますか?

0 投票する
0 に答える
108 参照

cocos2d-iphone - Cocos2D runaction が実行されない

私は2つのシーンを持つプロジェクトを持っています。

2 番目のシーンには、ボタンがあります。このボタンをクリックすると、実行時に SPriteBuilder リソースから CCNode が作成されます。「ストラテジー」と呼ばれるこの CCNode には、ストラテジー ノードの SpriteBuilder で作成された 5 つのカスタム CCNode があります。

この Strategy CCNode に単純な CCNode を追加してアクションを実行しようとすると、何も起こりませんでしたが、別の SCene ではすべて正常に動作し、2 番目のシーンでも動作しますが、Strategy CCNode コンテキストでは動作しません。

なぜこれ?

編集:

0 投票する
1 に答える
97 参照

objective-c - タッチで CCnode を削除する方法は?

どのスプライトが画面上にあるかを制御するために、常に別の場所でリスポーンし、それらを配列に追加している ccnode を削除しようとしましたが、問題はそれらを削除できないことです。タッチを検出しますが、アイデアは削除されませんか? ノードを取り除くために使用しているコードは次のとおりです。

0 投票する
1 に答える
58 参照

for-loop - for ループを使用して親 CCNode に CCNode を追加する

CCNodes を fieldArray から親 CCNode "stackNode" に追加したいと考えています。ブレークポイントを使用すると、CCNode をインデックス 0 に追加し、CCNode をインデックス 1 に追加できます。ただし、プログラムは i=2 でクラッシュします。私が受け取るエラーは次のとおりです。

キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。理由: '子は既に別のノードに追加されています。再追加できません」

クラッシュする前に、「stackNode」には 2 つの子があります。CCNode を 1 つずつ追加していません。数百の異なる配列があり、多くの fieldArray.count が 20 前後です。不明な点がある場合は、詳しく説明してください。

0 投票する
0 に答える
152 参照

cocos2d-iphone - タイル マップ cocos2d のスプライトを修正しましたか?

タイル マップ レイヤーと他のノードの処理方法がわかりません。CCNodeメニューボタン、スコア、ジョイスティックなど、マップ全体をスクロールするときに常に固定(スクロールしない)しなければならないレイヤー( )をもう1つ作りたいです。

現在upArrow、画面にはまったく表示されません。selfの代わりにを追加するjoystickNodeと表示されます。

新しい CCNode がどのような親を持つべきか、私には理解できません。誰かが私にそれを説明できますか?また、新しい CCNode を と の子として追加しようとしましselftheMap

編集: おっと、それは実際にカメラを動かしています。この場合、どのように実装しますか?

0 投票する
1 に答える
1412 参照

c++ - setParent addChild は cocos2d-x 3.6 で子の位置を更新しないようです

古い親ノードから oldparent->removeChild(child) を使用してスプライトの親を変更し、子スプライトで child->setParent(newparent) を使用して、新しい親をパラメーターとして渡します。newparent->addChild(child) でも試しました。

問題は、その操作の後、子の位置が変わらないことです。子スプライトの位置が、親の変換に対する新しい位置に変更されることを期待しています。これは予期された動作ですか、それとも更新メソッドを呼び出して子変換を強制的に更新する必要がありますか?