2011-09-03 16 views
5

मैं काफी अच्छी तरह एचटीएमएल 5 कैनवास पता है, मैं मूल बातें और एनीमेशन का उपयोग कर छोरों आदि पताडीबग ड्रा के बजाय HTML5 कैनवास का उपयोग करके मैं अपना बॉक्स 2 डी दुनिया कैसे आकर्षित करूं?

डेमो के साथ मैं काम कर रहा हूँ: क्या मैं है साथ बहुत परिचित नहीं हूँ http://henry.brown.name/experiments/box2d/example-canvas.html

(आकार बनाने के लिए क्लिक करें) Box2D। मैं Box2DWeb पोर्ट का उपयोग कर रहा हूं, मैंने सुना है कि यह Box2D-js से नया था, मुझे यकीन नहीं है कि कौन सा सर्वोत्तम है।

मैं कैसे 'दुनिया' प्रारंभ करने में और मैं दुनिया में वस्तुओं जगह कर सकते हैं पता है। मैं फिर दुनिया को एनिमेट करने के लिए कदम का उपयोग करता हूं - हालांकि इसे स्क्रीन पर प्रदर्शित करने के लिए अब तक मैं इसे डीबग ड्रा के साथ काम करने में सक्षम हूं क्योंकि यह मूल रूप से आपके लिए सबकुछ करता है।

इसके बजाय डिबग ड्रा का उपयोग कर के मैं सिर्फ एक वर्ग की एक कार के बजाय उदाहरण के लिए कैनवास का उपयोग करने के आकर्षित करने के लिए, चाहते हैं। मैं एक कार की छवि के लिए एक वर्ग के भौतिकी कैसे संलग्न करूं? मैं बस बॉक्स 2 डी के साथ कैनवास को एकीकृत करने के आसपास अपना सिर नहीं प्राप्त कर सकता।

किसी भी सुझाव की व्यापक सराहना की जाएगी!

धन्यवाद

+0

बहुत बढ़िया लिंक, आप http://www.uselesspickles.com/jsballs/ में दिलचस्पी होगी के लिए है, यह करने के लिए कुछ मिला है प्रश्न के साथ करें, लेकिन यह भी एक अद्भुत जावास्क्रिप्ट भौतिकी सिमुलेशन –

+0

हे है। मैं सोच रहा था कि क्या आपको यह समस्या हल हो गई है। मेरे साथ भी वही दिक्कत है। मुझे कोई जानकारी नहीं है कि किसी ऑब्जेक्ट की स्थिति, वेग, कोण जैसे पैरामीटर तक कैसे पहुंचे। डीबग ड्रा, उन सभी मानकों का उपयोग करके सब कुछ खींचता है। मैं जानना चाहता था कि हम उन्हें सीधे कैसे पहुंचा सकते हैं। – batman

+0

बहुत देर से प्रतिक्रिया, लेकिन हाँ मुझे समस्या हल हो गई। मैं अन्य उत्तरों के भीतर टिप्पणी करूंगा। – Henryz

उत्तर

2

आप Box2D से परिचित आप http://www.kyucon.com/doc/box2d/ पर दस्तावेज़ की जांच करनी चाहिए नहीं कर रहे हैं। यह आपको उन सभी संपत्तियों को बताना चाहिए जो आपको चाहिए। मेरे ज्ञान के लिए Box2D का उपयोग करने का मानक तरीका उपयोगकर्ता डेटा के साथ एक छवि संलग्न करना है। छवि और कैनवास छवि उपयोग के लिए यह उदाहरण ट्यूटोरियल देखें।

http://www.jeremyhubble.com/box2d.html

+0

http://www.kyucon.com/doc/box2d/ एक महान संसाधन है! – Henryz

+0

http://www.jeremyhubble.com/box2d.html अंत में मुझे इस समाधान को समझने में मदद मिली। Box2D के साथ मेरे नए प्रयोग मेरी वेबसाइट www पर हैं।henry.brown.name – Henryz

+0

बॉक्स 2 डी दस्तावेज़ बहुत अच्छे हैं, यूआई हालांकि नेविगेट करने के लिए थोड़ा मुश्किल हो सकता है। बस चेतावनी दीजिये कि दस्तावेज़ jQuery की तरह नहीं हैं। –

0

मैं एक ही सवाल था। here इसका दस्तावेज़ीकरण है। आप पाने के लिए m_position की तरह की तरह GetBodyList(), GetAngle() और सदस्यों कॉल इस्तेमाल कर सकते हैं सब है कि आप जो का उपयोग कर जो भी पुस्तकालय आप एक कैनवास पर उपयोग करना चाहते हैं पेंट करने के लिए की जरूरत है।

7

मैंने पिछले कुछ दिनों में एक ही चीज़ की कोशिश की। मैं Jonny Strömberg's tutorial पाया है, जो सुपर विस्तृत नहीं है, लेकिन कोड मैंने पाया कि वह कैसे शरीर की स्थिति को पुन: प्राप्त विश्लेषण करके:

var b = world.GetBodyList() 

GetBodyList() एक सतत सरणी प्रतीत हो रहा है, इसलिए अगले शरीर ख के माध्यम से पहुँचा जा सकता है। m_next।

फिर आप

b.GetPosition().x 
b.GetPosition().y 
b.GetAngle() 

का उपयोग शरीर की निर्देशांक को पुनः प्राप्त कर सकते हैं।

संपादित करें: इस कोड Box2dweb पुस्तकालय, जो मैंने पाया बेहतर Box2djs से प्रलेखित

+0

ग्रेट उत्तर, GetBodyList पर मुझे प्रबुद्ध करने के लिए धन्यवाद। – Henryz

संबंधित मुद्दे