/ / Cocos2D-X: छवि का आकार बदलना, फिर CCSprite में भागों को काटना - android, ios, xcode, image-resizing, cocos2d-x

कोकोस 2 डी-एक्स: छवि का आकार बदलकर सीसीएसप्रेट को भागों काटने - एंड्रॉइड, आईओएस, एक्सकोड, छवि-आकार बदलने, कोकोस 2 डी-एक्स

मैं iOS के लिए XCode के तहत एक Cocos2D-X प्रोजेक्ट बना रहा हूं। फिर मैं अंतिम कोड को एंड्रॉइड पर स्थानांतरित करने की योजना बना रहा हूं।

मैं क्या करना पसंद करता हूं एक लोड करने के लिए फ़ंक्शन करना हैछवियों और उन्हें स्मृति में मनमाने ढंग से आकार। फिर, आकार की छवि से मैं इसके कुछ हिस्सों को काट दूंगा और सीसीएसप्राइट ऑब्जेक्ट बनाऊंगा ... मेरे पास असली समस्या भागों को काटने से पहले एक आकार बदलने वाली छवि प्राप्त करना है।

मुझे पता है कि Cocoa / UIImage इसे हासिल कर सकता है, लेकिन मैंने ऑब्जेक्टिव-सी कोड का उपयोग करने के लिए "t जीता" नहीं है, ताकि एंड्रॉइड पोर्ट आसान हो जाए। यदि संभव हो तो मैं C ++ / Cocos2D-X में सब कुछ करना चाहता हूं।

मैंने अपने XCode प्रोजेक्ट में ImageMagick Magick ++ स्रोत कोड का उपयोग करने की कोशिश की है, लेकिन भाग्य के बिना क्योंकि मैं इसे "t" नहीं कर सकता। मैंने CCImage का उपयोग करने की कोशिश की है, लेकिन इसमें कोई आकार परिवर्तन नहीं है।

तो मेरा सवाल है: Cocos2DX में छवि फ़ाइलों का आकार बदलने का एक तरीका है? मेरे लक्ष्य तक पहुँचने का एक वैकल्पिक तरीका है?

धन्यवाद, जीन

उत्तर:

जवाब के लिए 0 № 1

क्या यह रीस्केल / कट प्रक्रिया आपके ऐप का हिस्सा है, या यह ऐप ग्राफिक्स को कई एंड्रॉइड स्क्रीन रिज़ॉल्यूशन में फिट करने का प्रयास है? अगर बाद की बात है, तो मैं इसकी सिफारिश नहीं करूंगा।

आपको यह समझना होगा कि आकार बदलना और काटनाकिसी भी क्रम में किया जा सकता है। तो आप पहले अपनी छवि को आकार देने के लिए वास्तव में ज़रूरत नहीं है, आप इसे पहले भी काट सकते हैं और बाद में इसका आकार बदल सकते हैं। इसे आकार देने के लिए स्प्राइट के पैमाने की संपत्ति का उपयोग करके इसे ऊपर या नीचे करने के लिए।

छवि को काटने के लिए यह वास्तव में इस बात पर निर्भर करता है कि आप इसे कैसे काटना चाहते हैं। ऐसे कई तरीके हैं कि आप एक छवि को कैसे काट सकते हैं (सीमाओं के साथ कटौती, मनमाना आकार में कटौती, पारदर्शिता बाहर कटौती, आदि)।


जवाब के लिए 0 № 2

एक स्प्राइट बनाने के लिए जो एक बिटमैप का एक अर्क है, आप इस तरह से कर सकते हैं और नए बिटमैप बनाने से बच सकते हैं (यह सुनिश्चित नहीं है कि आप "क्या देख रहे हैं"):

CCSprite * cutSprite = CCSprite :: spriteWithTexture (बनावट, CCRectMake (मूल, मूल, चौड़ाई, ऊंचाई));