खेल सेब अनुकरण - यह काम करने के लिए नहीं मिल सकता है [बंद]


11

मैं न्यूटोनियन भौतिकी के साथ एक गेम बनाने की कोशिश कर रहा हूं।

इससे पहले कि आप बाकी को पढ़ें, यह मेरा मुख्य प्रश्न है जिसका उत्तर खोजने की कोशिश कर रहा हूँ:

  • मुझे एक त्रुटि मिलती रहती है कि मैं कोशिश करने और अपना कोड चलाने के बाद एक विंडो में पॉप अप करता हूं। मुझे कौन सी लाइब्रेरी या डीएल याद आ रही है?

मुझे एक सेब, एक नारंगी और एक पेंसिल मिला है। मैंने बुलेट फ़िज़िक्स इंजन के साथ अधिकांश दस्तावेज़ पढ़े हैं, लेकिन मैं सिर्फ कागज के एक टुकड़े (2d-ish) की तरह व्यवहार करने के लिए सेब प्राप्त नहीं कर सकता। Box2d भौतिकी इंजन और ऐसा मैं नहीं चाहता। मुझे वास्तविक जीवन में बक्से पसंद नहीं हैं, अकेले साइबर कॉन्ट्रोवर्सीज में जाने देते हैं।

मैं चाहता हूं कि सेब नीचे जमीन पर तैरता रहे, कागज के टुकड़े की तरह आगे-पीछे झूलता रहे। इस साइट ने कुछ उपयोगी जानकारी दी जिसे मैंने अपने कोड में एकीकृत किया: htp: //www.3dbuzz.com/vbforum/showthread.php; 50854-Please-HELP !! -सिमुलेटिंग-पेपर-फ्लोटिंग-टू-ग्राउंड !!

मेरे पास एक गेम के लिए यह विचार है जहां आप वस्तुओं को अन्य प्रकार की वस्तुओं की तरह व्यवहार करते हैं, लेकिन खेल के मेरे सिमुलेशन अभी काम नहीं कर रहे हैं।

मैं कई प्रकार के सेबों को गिनने के लिए गुजर चुका हूं, और उनमें से कोई भी पास नहीं आया। मैंने अन्य लोगों की खोज करने की कोशिश की है, जिन्होंने इसी तरह की चीजों की कोशिश की है, ( http://lmgtfy.com/?q=simluating+game+apples+in+real+life की तरह ) का उपयोग करते हुए , लेकिन कभी भी कोई सेब वापस नहीं आया है!

इस प्रकार, मुझे लगता है कि मैं यहां नए क्षेत्र में जा रहा हूं (चिंता न करें, मैंने अपनी तकनीकें खोली हैं), और इसीलिए चीजें सिर्फ मेरे लिए काम नहीं कर रही हैं।

मैंने विभिन्न प्रकार के सेबों की प्रोग्रामिंग करने की कोशिश की है, लेकिन शायद मुझे एक साइबर सेब की आवश्यकता है? मुझे नहीं पता कि उन लोगों में से एक को कहां मिलेगा, शायद इस तरह की जगह पर: http://cyberapples.com/ यह साइट अभी के लिए नीचे है - यह केवल कभी कुछ cgi बकवास बिन या कुछ के बारे में बात कर रहा है। इस पर भी कोई सुझाव?

यह मेरे कोड का एक हिस्सा है जो एक गेम सामग्री का अनुकरण करने वाले सेब से संबंधित है:

///... /* setup other objects in the room and other stuff */ ...

// see http://www.orangepippin.com/apples/arlet-swiss-gourmet
// for more arlet apple details
paper_2d_behaving_apple = new ArletApple[);

/ setup the arlet apple's general characteristics
paper_2d_behaving_apple.species = SPECIES.MALUS_DOMESTICA;
paper_2d_behaving_apple.parentage = PARENTAGE.GOLDEN_DELICIOUS_X_IDARED:
paper_2d_behaving_apple.introduced = make_year(1958);
paper_2d_behaving_apple.fruitColor = COLORS.red;
paper_2d_behaving_apple.fleshCOlor = APPLE_FLESH_COLORS::CREAM;
paper_2d_behaving_apple.fruitSize = GENERIC_FRUIT_SIZES.MEDIUM;
paper_2d_behaving_apple.GoodFor.add("eating fresh");
paper_2d_behaving_apple.GoodFor.add("cooking");
paper_2d_behaving_apple.GoodFor.add("use / keeping: 3 months or more");
paper_2d_behaving_apple.GoodFor.add("ripening PERIOD: 3 months or more");
paper_2d_behaving_apple.diseaseResistances = [DISEASE_RES::SCAB, DISEASE_RES::MILDEW];
///... (I cut some of this out for brevity's sake) ...

///* setup this specific apple's characteristics
paper_2d_behaving_apple.base_color = 0xff2000;
paper_2d_behaving_apple.bumpMap = BUMP_MAP_APPLE;
paper_2d_behaving_apple.texture = TEXTURE_REALISTIC_APPLE;
paper_2d_behaving_apple.feel_texture = SMOOTH;
paper_2d_behaving_apple.has_small_orangey_stripes = TRUE;
paper_2d_behaving_apple.DoesntHaveStem = FALSE;
paper_2d_behaving_apple.juicy = true; // needs a lowercase true for some reason
paper_2d_behaving_apple.has_bugs = false; // heck no it doesn't, I only buy good apples
///... (again I cut some stuff out so this post would'n't be too long) ...

// from http://www.3dbuzz.com/vbforum/showthread.php?50854-Please-HELP!!-Simulating-paper-floating-to-ground
// "i think reactor can do this, i would try cloth witha high air resistance and a very high stifness"
paper_2d_behaving_apple.addReactor(REactor());
// got this technique from http://www.gimptutorials.eu/html/clothify_filter_gimp_gnu.html
import gimp ; GIMP::Clothify(paper_2d_behaving_apple); pass
// / 7 should be high enough - it's a big number
paper_2d_behaving_apple.reactor.stiffness = 7.0f;
paper_2d_behaving_apple.reactor.airResistance = 5.0f; // high, but not "very high"

// setup the world the apple exists in
paper_2d_behaving_apple.owner = new BobFlanderson();
paper_2d_behaving_apple.owner.appearance = APPEARANCE_AWESOME;
paper_2d_behaving_apple.owner.clothes.size = CLOTHES_SIZE_MEDIUM;
paper_2d_behaving_apple.owner.owns_house = false;
paper_2d_behaving_apple.owner.apartment.sucks = true;
paper_2d_behaving_apple.owner.has_wife = false;
paper_2d_behaving_apple.viewSpace = LIVING_ROOM;
paper_2d_behaving_apple.RESTINGon = Kitchen.GetSurfaces()->COUNTER_BY_STOVE;
////... (also cut some  more out here too) ...

// transform the paper behaving apple into something viewable
view_matrix = new ViewMatrix();
view_matrix.DoTransformation(paper_2d_behaving_apple);
view_matrix.makeViewable();
World->ApplyViewMatrix(view_matrix);

paper_2d_behaving_apple.RenderToNeakedEye();

// THIS IS WHERE I'm HAVING THE TROUBLE
actual_existing_apple_on_myCounter = new ExistingApple(paper_2d_behaving_apple);
actual_existing_apple_on_myCounter.bindInRealLive();

// THIS NEVER WORKS! I DON"T KNOW HOW YOU GUYS DO THIS STUFF!
actual_existing_apple_on_myCounter.Translate(LANGUAGES::ENGLISH);
// saw the IW_FIXED on some jam making site
// (http://www.madewithmarmalade.com/devnet/documentation#/api/api/group__IwGeomCore.html)
//  - that's the closest I've come to seeing anything close to what
// I'm trying to do
actual_existing_apple_on_myCounter.TranslateTo(0, 0, IW_FIXED(10.0f));
apple_now_inAir = actual_existing_apple_on_myCounter;

// I know this is C++ code, but some ruby sites were saying that it's best
// to put an exclamation point after a function that modifies a physical
// object - no luck yet for me
apple_now_inAir.Drop!();

जैसा कि आप देख सकते हैं, मुझे बुनियादी अवधारणाएँ मिल गई हैं, और मैं अपने चर नामों और ऑब्जेक्ट विशेषताओं के साथ बहुत वर्णनात्मक हो रहा हूं। मैंने दुनिया को बहुत स्पष्ट और स्पष्ट रूप से स्थापित किया है, हालांकि मैंने वास्तविक रसोई की तुलना में खेल में दुनिया को सरल बनाया है।

मुझे लगता है कि समस्या सेब paper_2d_behaving_appleको actual_existing_apple_on_myCounterबांध रही है, और फिर उसे हवा में स्थानांतरित कर रही है ( apple_now_inAir);

जो भी मामला है, और चाहे मैं कितना भी अच्छा सब कुछ प्रारूपित करूं, कुछ भी नहीं होता है। नीचे एक छवि दी गई है कि मैं कार्यक्रम कैसे चलाता हूं:

यहाँ छवि विवरण दर्ज करें

क्या इससे पहले किसी ने इसमें भाग लिया है? अग्रिम में धन्यवाद। मैं अभी हाल ही में स्विच किए गए करियर के साथ प्रोग्रामिंग गेम्स के साथ शुरुआत कर रहा हूं, ताकि बुरा न लगे।

धन्यवाद, बॉब


2
आप यहाँ बहुत सारे प्रश्न पूछ रहे हैं। असंगति के बारे में हिस्सा स्टैटेक्सचेंज पर पूछा जाना चाहिए क्योंकि यह वास्तव में gamedev से संबंधित नहीं है। सेब के हिस्से को यहां अपना प्रश्न पूछा जाना चाहिए। पर्याप्त प्रतिनिधि और अन्य व्यक्तिगत कहानी सामान न होने के बारे में कुछ अप्रासंगिक पाठ को हटाने का प्रयास करें जो लोगों को सवाल का जवाब देने में मदद नहीं करता है।
AttackingHobo

3
"मुझे अपना कोड काम करने के लिए क्यों नहीं मिल रहा है?" बहुत ज्यादा हर प्रोग्रामिंग सवाल कभी भी। इस बारे में सोचें कि आप क्या जानना चाहते हैं, और फिर तदनुसार प्रश्न को संपादित करें।
जकोरा

13
यह अब gamedev.SE पर मेरा पसंदीदा प्रश्न है।
जिमी

6
मैंने इसे संपादित करना शुरू कर दिया। तब मुझे एहसास हुआ कि यह ट्रोलिंग ("साइबर सेब"?) होनी चाहिए। यदि यह ट्रोलिंग नहीं है, तो आपको वास्तव में कुछ सरल से शुरू करने की आवश्यकता है।
MichaelHouse

2
यह बहुत ही हास्यास्पद है। रूबीवाद - apple_now_inAir.Drop!();- एक दंगा है। इस पोस्ट के बारे में कुछ है - महत्वाकांक्षी, भ्रमित, बर्बाद ...
सॉलिडस्नेक

जवाबों:


34

मुख्य मुद्दा जो मैं यहां देख रहा हूं वह यह है कि आप एक विंडोज सिस्टम का उपयोग कर रहे हैं। यह ओएस खिड़कियों और दरवाजों (गैर-ऑर्गेनिक्स) जैसी चीजों के अनुकरण के लिए सबसे अच्छा काम करता है। आपको Macintosh कंप्यूटर पर स्विच करने की आवश्यकता है , ये अनुकरण सेब के साथ असाधारण हैं। ओएस का नवीनतम संस्करण न केवल सेब का अनुकरण करता है, इसमें बड़ी बिल्लियों, विशेष रूप से पहाड़ी शेरों के लिए अतिरिक्त समर्थन है। हालाँकि, यदि आप अपने विंडोज सिस्टम का उपयोग जारी रखना चाहते हैं, तो आपको कुछ बदलाव करने की आवश्यकता है। सबसे पहले विजुअल स्टूडियो को डाउनलोड करें , यह कोड का उपयोग करने के लिए प्राथमिक उपयोग है। आपके मामले में, यह आपके सेब की कल्पना करेगा।

आगे आपको अपने सेब को ठीक से परिपक्व होने के लिए एक बाइनरी ट्री कोड करने की आवश्यकता है । बहुत सारे पत्ते जोड़ना सुनिश्चित करें ताकि पेड़ मजबूत हो जाए (यह भी सुनिश्चित करें कि आप इसे एक बड़ी जड़ देते हैं)। पकने के लिए सेब का परीक्षण करने के लिए आप एक से एक बाइट ले सकते हैं और tasteTest()फ़ंक्शन के माध्यम से बिट्स पास कर सकते हैं । अब, आप सेब मिल गया है! लेकिन, आपने कहा था कि आप उन्हें कागज़ के समान बनाना चाहते हैं? आप उस प्रभाव को प्राप्त करने के लिए उन्हें एक फ्लैट फ़ाइल में पोर्ट करना चाहेंगे। सेब को संग्रहीत करने के लिए डेटाबेस का उपयोग न करें, वे पर्याप्त रूप से सपाट नहीं होंगे।

अंत में, सेब को नीचे लाने के लिए आपको अपने कोड में एक महत्वपूर्ण कदम याद आ रहा है! आप जोड़ना भूल गए:

paper_2d_behaving_apple.hasGravity = true;

यह एक महान गलती है, लेकिन यह ठीक है। अंत में, सुनिश्चित करें कि आपने स्क्रीन के शीर्ष पर सेब रखा है, इसलिए इसमें कहीं न कहीं गिरावट है। और जिमी ने सुझाव दिया, आप मॉनिटर को उल्टा भी कर सकते हैं यदि सेब गलत तरफ है, जब से आप बस शुरू कर रहे हैं, ऐसा होने की संभावना है।

साइड बोनस के रूप में, चूंकि आप विंडोज का उपयोग कर रहे हैं, अगर आप माइक्रोसॉफ्ट एक्सेल में ऐप्पल पाई चार्ट बनाना चाहते थे, तो आप इसे आसानी से ठंडा करने के लिए एक विंडो का अनुकरण कर सकते थे।


वैकल्पिक रूप से ऐसा करने का एक बहुत आसान तरीका है यदि आप थोड़ा पैसा खर्च करना चाहते हैं।

एक उपकरण है जिसे तब ENCOM डिजीटल मॉलीक्यूलर लेजर कहा जाता है। मैंने देखा है कि यह पहले सेब को डिजिटल करने के लिए इस्तेमाल किया गया था, और मुझे लगता है कि यह आपके लिए काम आएगा। आपको उन सभी वेरिएबल्स में टाइप करने की ज़रूरत नहीं होगी, स्कैनर आपके लिए ऐसा करेगा। यहाँ यह कार्रवाई में है:

यहाँ छवि विवरण दर्ज करें


5
यह आपको भ्रमित करने वाला हो सकता है, लेकिन मैं इसे समझता हूं। यह मेरा कंप्यूटर है जिसमें समस्या है, यही वजह है कि मैं सोच रहा था कि मैं कुछ पुस्तकालयों या कुछ को याद कर रहा था। मैं वास्तव में अभी गूगल कोडिंग स्टाइल गाइड के माध्यम से पढ़ रहा हूं । उम्मीद है कि आप लोगों को मेरी कोडिंग शैली के बारे में कुछ चिंताओं का समाधान होगा।
बॉब फ्लैंडर्सन

1
तुम सही हो, मैं उलझन में था। मैंने अपना जवाब बदल दिया।
MichaelHouse

हाँ! कृपया मेरे सेब की कल्पना करें! मैं अभी तक ऐसा नहीं कर पाया क्योंकि मुझे अभी भी वह लाइब्रेरी नहीं मिली है जो मुझे याद आ रही है
Bob Flanderson

2
मुझे लगता है कि मूल समस्या यह है: paper_2d_behaving_apple.owner.has_wife = false; अगर इसकी पत्नी होती तो वह उसे बताता कि क्या गलत है।
डेविड थिएलेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.