2012-02-23 12 views
0

cocos2dでいくつかのr & dを実行しています.1つのbackgroundLayerがあり、そのレイヤーに1つのスプライトを追加しています。 タッチで移動しました。私はスプライト位置を現在のタッチ位置に変更しました。背景レイヤーがスケーリングされていない場合、backgroundLayerスケールが1である場合、コードは完全に実行されます(タッチ位置をスプライト位置に設定します)。問題のスプライトは、タッチ位置を移動しません。いずれかを助けてください。ここで背景レイヤーのタッチ位置が変更されましたか?

は私のコードです:

layer1=[CCLayer node]; 
[self addChild:layer1]; 
layer1.scale=2; 

iconImg=[CCSprite spriteWithFile:@"Icon-72.png"]; 
iconImg.position=ccp(512,384); 
[layer1 addChild:iconImg]; 
触れて

は私の問題は、バックグラウンド層position..any 1つのガイドによるタッチ位置を見つける方法backgroundLayerをスケーリングした後で

iconImg.position=tchLocation; 

を移動しました私...

答えて

0

あなたはどのように計算しますかtchLocation

それはで動作するはずです:

タッチがあなたの UITouchある
CGPoint *tchLocation = [layer1 convertTouchToNodeSpace:touch]; 

+0

よろしくお願いいたします。 – banu

関連する問題