एक खेल im में टक्कर के साथ एक सूचक कम से कम मनोरंजन के लिए बना रही है मैं मदद की जरूरत है या

वोट
1

तो मैं एक खेल बना दिया, एक नक्शा बनाया है, और सब कुछ ठीक काम कर रहा है। समस्या मैं एक बहुत ही गूंगा टक्कर प्रणाली है कि पहले काम किया बनाया है, लेकिन मैं समस्याओं में चल रहा हूँ।

खिलाड़ियों मैं खिलाड़ी के एक्स और वाई पदों का उपयोग कर रहा चरित्र आकर्षित करने के लिए, और का उपयोग कर tileX और tileY (एक्स / 32 और y / 32) टक्कर का पता लगाने के। उसके बारे में यहां चित्र जो मेरी समस्या बताते हैं: समस्या

लाल बॉक्स खिलाड़ियों tileX और tileY cordinate है। प्लेयर अभी भी दीवार, जहां टकराव होना चाहिए beyound ले जाता है।

TileX नहीं करता है बढ़ जाती है / कम हो जाती है तब होगा, जब वे एक ठोस टाइल के साथ भिड़ना है, लेकिन खिलाड़ी के एक्स और वाई (स्प्राइट) अभी भी 31 अधिक पिक्सल के लिए है कि बॉक्स से बाहर ले जाता है। कैसे इसे ठीक करूँ मेरे पास कोई विचार नहीं है? मेरे खिलाड़ी छवि केंद्रित नहीं है, अपने ऊपरी-दाएं कोने पर तैयार की।

यह वर्तमान कोड का उपयोग कर im है:

    for i=1, #lsx_map1 do 
        if math.floor(player.fx/32) == lsx_map1[i] and math.floor(player.fy/32) == lsy_map1[i] then
            player.speedx = 0
            player.speedy = 0   
            print(COLISSION DETECTED ON ..player.x.. ..player.y)
        else
            print(colVar)
            colVar = colVar+1
        end
    end
    if colVar == #lsx_map1 then     
        player.x = player.fx
        player.y = player.fy
    end

lsx_map1 ठोस टाइल की संख्या है, और colVar कि संख्या के बराबर है, तो टकराव नहीं करता है होना चाहिए। मामले में टकराव होता है, एक के बाद उस नंबर नहीं करता है वृद्धि, और फिर कुछ नहीं होता। किसी भी अधिक जानकारी के आप की जरूरत क्या आप मेरी मदद करना चाहते हैं लेकिन आप अधिक जानकारी की जरूरत है के लिए पूछें।

कोई मदद या सुझाव के सराहना की जाएगी। धन्यवाद।

02/12/2019 को 23:54
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

एक खेल im में टक्कर के साथ एक सूचक कम से कम मनोरंजन के लिए बना रही है मैं मदद की जरूरत है या

वोट
1

तो मैं एक खेल बना दिया, एक नक्शा बनाया है, और सब कुछ ठीक काम कर रहा है। समस्या मैं एक बहुत ही गूंगा टक्कर प्रणाली है कि पहले काम किया बनाया है, लेकिन मैं समस्याओं में चल रहा हूँ।

खिलाड़ियों मैं खिलाड़ी के एक्स और वाई पदों का उपयोग कर रहा चरित्र आकर्षित करने के लिए, और का उपयोग कर tileX और tileY (एक्स / 32 और y / 32) टक्कर का पता लगाने के। उसके बारे में यहां चित्र जो मेरी समस्या बताते हैं: समस्या

लाल बॉक्स खिलाड़ियों tileX और tileY cordinate है। प्लेयर अभी भी दीवार, जहां टकराव होना चाहिए beyound ले जाता है।

TileX नहीं करता है बढ़ जाती है / कम हो जाती है तब होगा, जब वे एक ठोस टाइल के साथ भिड़ना है, लेकिन खिलाड़ी के एक्स और वाई (स्प्राइट) अभी भी 31 अधिक पिक्सल के लिए है कि बॉक्स से बाहर ले जाता है। कैसे इसे ठीक करूँ मेरे पास कोई विचार नहीं है? मेरे खिलाड़ी छवि केंद्रित नहीं है, अपने ऊपरी-दाएं कोने पर तैयार की।

यह वर्तमान कोड का उपयोग कर im है:

    for i=1, #lsx_map1 do 
        if math.floor(player.fx/32) == lsx_map1[i] and math.floor(player.fy/32) == lsy_map1[i] then
            player.speedx = 0
            player.speedy = 0   
            print("COLISSION DETECTED ON "..player.x.." "..player.y)
        else
            print(colVar)
            colVar = colVar+1
        end
    end
    if colVar == #lsx_map1 then     
        player.x = player.fx
        player.y = player.fy
    end

lsx_map1 ठोस टाइल की संख्या है, और colVar कि संख्या के बराबर है, तो टकराव नहीं करता है होना चाहिए। मामले में टकराव होता है, एक के बाद उस नंबर नहीं करता है वृद्धि, और फिर कुछ नहीं होता। किसी भी अधिक जानकारी के आप की जरूरत क्या आप मेरी मदद करना चाहते हैं लेकिन आप अधिक जानकारी की जरूरत है के लिए पूछें।

कोई मदद या सुझाव के सराहना की जाएगी। धन्यवाद।

02/12/2019 को 23:54
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more