में विशिष्ट स्थानों में स्थानांतरित करने के लिए कैसे करें। उदाहरण के लिएऑब्जेक्ट को विशिष्ट स्थानों में स्थानांतरित करने के लिए cocos2d
। एक छोटी बार है (चौड़ाई = 50, ऊंचाई = 10)। मुझे इसे प्लंबर को मैन्युअल रूप से ले जाना है। मैं केवल एक्स कॉर्डिनेट्स में स्थानांतरित करना चाहता हूं (सीमा x = 20 (प्रारंभ बिंदु) x = 50 (अंत बिंदु) पर है) y निर्देशांक पर कोई चाल नहीं है। लेकिन वार्डों के आंदोलन के बाद 50 से 10 चल रहा है। कोडिंग: -
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if (isPlaying) {
UITouch *touch = [[event allTouches] anyObject];
touchPosition = [touch locationInView:touch.view];
if (CGRectContainsPoint(para3.boundingBox,touchPoint)
isDragging = YES;
touchOffset = para3.position.y - touchPosition.y;
}
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
if (isPlaying) {
UITouch *touch3 = [[event allTouches] anyObject];
float distanceMoved =
([touch3 locationInView:touch3.view].y + touchOffset) -
para3.position.y;
float newY = para3.position.y + distanceMoved;
if (newY > 67 && newY < 99)
para3.position = CGPointMake(newY , para3.position.y );
//para3.contentSize/2
if (newY >67)
para3.position = CGPointMake(67, para3.position.y);
if (newY < 99)
para3.position = CGPointMake(99, para3.position.y);
}
}
आपको कोकोस और यूआईवीव के विभिन्न समन्वय प्रणालियों की तलाश करनी है। तो आपको बिंदु इनव्यू से बिंदु को कन्वर्ट करने की आवश्यकता है। मैं वास्तव में remeber नहीं है। लेकिन सीसीडी डायरेक्टर वह वर्ग है जो इस विधियों को लागू करता है। ;-) मुझे आशा है कि इससे मदद मिलेगी। –
पैरा 3.position = सीपीपी (एक्स, वाई); आपको सीपीपी (एक्स, वाई) का उपयोग करना होगा; CGPointMake के बजाय (एक्स, वाई); cocos2d – 0xDE4E15B
मेरी गलती, सीसीपी (एक्स, वाई) का उपयोग कर; – 0xDE4E15B