J'ai besoin de l'aide ou du moins un pointeur avec collision dans un jeu im faire pour le plaisir

voix
1

Je fis donc un jeu, fait une carte, et tout fonctionne bien. Le problème est que je fait un système de collision très stupide qui a travaillé d'abord, mais je me présente des problèmes.

J'utilise les positions X et Y du joueur pour dessiner le caractère, et en utilisant les joueurs TILEX et Tiley (x / 32 et y / 32) pour détecter la collision. Heres une image qui explique mon problème: le

La boîte rouge est joueurs TILEX et Tiley cordinate. Joueur déplace encore beyound le mur où la collision devrait se produire.

Le Tilex ne marche pas laisser des augmentations / diminutions se produisent si elles entrent en collision avec une tuile solide, mais de joueur X et Y (image-objet) fixes déplace au-delà de cette boîte pour 31 plus de pixels. Je ne sais pas comment résoudre ce problème. Mon image de joueur est pas centré, son dessiné sur le coin supérieur droit.

Ceci est le code actuel im en utilisant:

    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 est le nombre de tuiles solides et varCol doit être égal à ce nombre si la collision ne se produit pas. En cas de collision se produit, ce nombre ne marche pas augmenter par un, et rien ne se passe. Demandez d'autres détails dont vous avez besoin si vous voulez me aider, mais vous avez besoin de plus amples informations.

Toute aide ou des conseils seraient appréciés. Merci.

Créé 02/12/2019 à 23:54
source utilisateur
Dans d'autres langues...                            


1 réponses

J'ai besoin de l'aide ou du moins un pointeur avec collision dans un jeu im faire pour le plaisir

voix
1

Je fis donc un jeu, fait une carte, et tout fonctionne bien. Le problème est que je fait un système de collision très stupide qui a travaillé d'abord, mais je me présente des problèmes.

J'utilise les positions X et Y du joueur pour dessiner le caractère, et en utilisant les joueurs TILEX et Tiley (x / 32 et y / 32) pour détecter la collision. Heres une image qui explique mon problème: le problème

La boîte rouge est joueurs TILEX et Tiley cordinate. Joueur déplace encore beyound le mur où la collision devrait se produire.

Le Tilex ne marche pas laisser des augmentations / diminutions se produisent si elles entrent en collision avec une tuile solide, mais de joueur X et Y (image-objet) fixes déplace au-delà de cette boîte pour 31 plus de pixels. Je ne sais pas comment résoudre ce problème. Mon image de joueur est pas centré, son dessiné sur le coin supérieur droit.

Ceci est le code actuel im en utilisant:

    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 est le nombre de tuiles solides et varCol doit être égal à ce nombre si la collision ne se produit pas. En cas de collision se produit, ce nombre ne marche pas augmenter par un, et rien ne se passe. Demandez d'autres détails dont vous avez besoin si vous voulez me aider, mais vous avez besoin de plus amples informations.

Toute aide ou des conseils seraient appréciés. Merci.

Créé 02/12/2019 à 23:54
source utilisateur

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