Donc, ce que j'essaie de faire est d'avoir un tir ennemi au hasard, mais quand la balle sort de l'écran pour signaler à l'ennemi et permettre à l'ennemi de tirer à nouveau. Chaque instance d'un ennemi ne peut avoir qu'une instance active de Bullet à tout moment. Jusqu'à présent, je ne fais que tester le feu et refaire la mise en œuvre. Le tournage de fonction est appelée de l'instance de l'ennemi comme ce qui suit:Bullet Fire Reset Événement Corona SDK
function enemy:shoot()
--Calls Bullet Obj file
local Bullet = require "Bullet";
--Movement time per space
local DEFAULTTIME = 5;
--checking if property, there currently is an active bullet instance in scene
if self.activeBul ==false then
--move the bullet
self.bullet:trajectBullet({x=self.sprite.x,y=display.contentHeight, time = DEFAULTTIME* (display.contentHeight-self.sprite.y)});
--there is now an active Bullet linked to this enemy
self.activeBul = true;
else
end
end
tout ce qui se passe pour l'instant dans le trajectBullet est la mise en œuvre du mouvement. J'essaie de comprendre maintenant comment je pourrais laisser l'instance ennemie liée savoir que sa balle est hors écran. Im assez nouveau pour lua et Corona SDK afin im obtenir encore une emprise sur la meilleure façon de traiter les choses si s'il vous plaît garder avec moi simple aperçu de ce que je cherche est au-dessous
--random enemy fire
--move Bullet location on top of enemy(appears enemy fires)
--makes linked bullet visible
--simulates trajectory
CASE:* doesn't hit anything and goes off screen*
--hides Bullet
--signals to linked enemy it can fire again(changing activeBul to false)
choses Couple garder à l'esprit, je avoir à la fois Bullet et Enemy comme métabalises. L'instance Bullet est également créée en même temps que l'ennemi est créé. Ainsi, l'ennemi ne crée jamais plusieurs instances de balle, il se contente de le cacher et de le relocaliser.
Im regardant vraiment un aperçu sur la façon dont je devrais prendre pour obtenir que cela fonctionne correctement, des conseils seront appréciés
Y Vous ne devriez pas exiger le fichier Bullet.lua lorsque l'ennemi tire. La métatable ennemie devrait contenir une référence à la classe Bullet, que chaque instance utilise. – HennyH