2010-12-10 12 views
5

कल मैंने कई वर्षों पहले सी ++, विन 32 एपीआई और डायरेक्टड्रा 7 में विकसित मेरे टेट्रिस गेम के लिए स्रोत कोड पाए। मैंने बिना किसी सफलता के समाधान बनाने का प्रयास किया क्योंकि हाल ही में DirectX SDK (June 2010) में DDraw.h और DDraw शामिल नहीं है। अब और libविरासत डायरेक्टड्रा कोड को बदलना

क्या डायरेक्टड्रा से नए एपीआई में कोड अपग्रेड करने के लिए कोई अनुशंसित दृष्टिकोण (उम्मीदवारों के साथ) है? या मुझे बस पुराने डायरेक्टएक्स एसडीके इंस्टॉल करना चाहिए?

+0

वे विंडोज एसडीके में स्थानांतरित हो गए थे। –

उत्तर

3

यदि आप डायरेक्टड्रा ब्लिट कार्यक्षमता का उपयोग करते हैं तो यह पोर्ट को बंद करने के लिए काफी काम करेगा। मेरी राय में आपका सबसे अच्छा विकल्प जीडीआई को बंद करना है। इसका मतलब हो सकता है कि अपने स्वयं के ब्लिट फ़ंक्शन लिखना।

विफल रहा है कि आप डी 3 डी पर बंदरगाह कर सकते हैं हालांकि यह काफी काम होगा और वास्तव में यह निर्भर करता है कि आप अपना प्रतिपादन कैसे करते हैं। यदि आपके सभी प्रतिपादन ब्लिट्ज (और कोई प्रत्यक्ष फ्रेम बफर एक्सेस) का उपयोग करके किया जाता है तो यह डी 3 डी को पोर्ट करने के लिए अपेक्षाकृत सीधे आगे होना चाहिए। यह आपको बड़ी गति बूस्ट भी प्रदान करेगा।

ने कहा कि आप केवल डायरेक्टड्रा हेडर (मुझे विश्वास है कि वे विंडोज एसडीके में हैं) पकड़ सकते हैं और डायरेक्टड्रा का उपयोग जारी रख सकते हैं।

+0

मैंने अभी डाउनलोड किया है और नवीनतम विंडोज एसडीके ddraw.h स्थापित किया है, लेकिन ddraw.lib वहाँ नहीं है। लेकिन मैं आपका जवाब चिह्नित कर रहा हूं क्योंकि आपने मुझे सही दिशा में इंगित किया है। दरअसल मुझे सीधे ddraw.dll का उपयोग करना होगा, यह मेरे प्रारंभिक प्रश्न में पोस्ट किए गए लिंक में वर्णित है। –

+0

यह मेरे लिए बुरी खबर है। मेरे पास एक कोड है जो डायरेक्टएक्स 6 युग के दौरान विकसित किया गया था, यह डायरेक्ट 2 डी/डायरेक्टड्रा बिटबल्ट का उपयोग करता है। मैं इसे डी 3 डी पर बंद नहीं करना चाहता क्योंकि यह 3 डी नहीं है। यदि विंडोज एसडीके में हेडर हैं, तो कार्यक्षमता कहीं भी होनी चाहिए। –

0

DirectX एसडीके (जून 2010) में कोई ddraw इंजन नहीं है।

आप खिड़कियों SDK में ddraw खोजना चाहिए।

आप विंडोज एसडीके में ddraw.h पा सकते हैं, लेकिन कोई ddraw.lib नहीं है।

उपयोग कैसे करें? ddraw.dll का उपयोग करें।