में कुशल इकाई प्रणाली लिखें, मैं सी ++ में एक कुशल "इकाई प्रणाली" बनाने की कोशिश कर रहा हूं, मैंने बहुत सारी जानकारी प्राप्त करने के लिए इंटरनेट पर बहुत सारे ब्लॉग/लेख/दस्तावेज पढ़े हैं लेकिन मुझे मिल गया है कुछ सवाल फिर से।सी ++
मैं दो दिलचस्प विषयों को खोजने है:
- डेटा पर ही आधारित प्रणाली
- इकाई घटक प्रणाली
मेरे लिए, दो प्रणालियों बहुत समान लग रहे हो।
तो, मैं एडम स्मिथ द्वारा इस उदाहरण मिल गया है:
// Abstract class
class Component
{
// data here
}
// exemple
class Car : public Component
{
// Data here
}
// Entity with components
class Entity
{
std::vector<Component*> components;
}
तो, अगर मेरी इकाई निम्नलिखित घटकों: https://stackoverflow.com/a/2021868
मैं इस तरह एक लचीला सिस्टम होना चाहिए कार, ट्रांसफॉर्म, स्प्राइट, क्या मेरे घटकों के सरणी में डेटा-संचालित सिस्टम जैसे रैखिक डेटा होंगे?
अब, मैं सिस्टम है:
class System
{
virtual void init();
virtual void clear();
virtual void update();
std::unordered_map< const char*, Entity*> entities;
}
class RendererSystem : public System
{
// Methods's definition (init, clear, …).
void update()
{
for(entity, …)
{
Sprite* s = entity->getComponent('sprite');
...
}
}
}
- मैं पढ़ा है कि आभासी कार्यों खराब हैं, यह उस स्थिति में बुरा है?
- घटक प्राप्त करें एक static_cast की आवश्यकता है, यह बुरा है?
- डेटा संचालित प्रणाली में, मैंने हर जगह पॉइंटर देखा, सी "मूल" चर कहां है, मुझे हर जगह नया रखना होगा या मेरे पास एक ही डेटा के साथ एक कक्षा होगी?
- क्या मैंने यह अधिकार बनाया?
ये सभी अंक मेरे दिमाग में "धुंधला" दिखते हैं।
आइटम के संदर्भ को संदर्भित करेंगे, यह मेरे दिमाग में "धुंधला" जैसा दिखता है। आप क्या हासिल करने की कोशिश कर रहे हैं, और आप इसके साथ क्या _concrete_ समस्याओं का सामना करते हैं? डिज़ाइन buzzwords की सूची से आइटम छेड़छाड़ करने की चिंता न करें। –
मुझे एक कुशल घटक प्रणाली चाहिए। मैंने इकाई के बाहर घटक के साथ एक इकाई प्रणाली बनाई है लेकिन पुराने मोबाइल और टैबलेट पर प्रदर्शन बहुत अच्छा नहीं है। तो मुझे डेटा संचालित लगता है और यह बहुत दिलचस्प लग रहा है, इसलिए मैं इसे आजमा देना चाहता हूं। – Sooner
आप फिर से buzzwords सूचीबद्ध कर रहे हैं! आप एक "घटक प्रणाली" क्यों चाहते हैं और यह स्रोत फ़ाइल में कक्षाओं के समूह से अलग कैसे बनाता है? –