Anuncios Google

Como hago un disparo de un objeto en lua?

Como hago un dísparo de un objeto en luaDev?? .


Editado: Movido a Programacion postear en el lugar incorrecto incumple las Normas de la Comunidad., antes de volver a postear por favor revíselas.| Gomasz--


Follow me twitter nautilus1_jmccu!!
Sony, ya a nadie le interesa tus UMD si alguien compra una psp es por nosotros los coders. Madura y has un FW que haga la diferencia y anime a las personas en comprar un PSP


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

También puedes con

También puedes con eso:

------------------------- weaponlib vBeta - (c) 2011 xerpi -------------------------
 
weapon={}
 
 
function weapon.create(img,vel,tiempo)
 
weaponobj = {img = img, w = img:width(), h = img:height(), tim = tiempo, tim_act = timer.new(), bullets={},vel = vel , status = "stop",killed=0,maxbulletsx=math.floor(480/img:width()),math.floor(maxbulletsy=272/img:height())}
for i = 1, math.max(weaponobj.maxbulletsx,weaponobj.maxbulletsy) do table.insert(weaponobj.bullets,{x,y,status="dead",dir=""})   end
 
return weaponobj
end
 
function weapon.blit(obj,deadcolision,x,y,w,h,funct)
	for i = 1, #obj.bullets do
		if obj.bullets[i].status == "alive" then
			if obj.bullets[i].dir == "up" then obj.bullets[i].y = obj.bullets[i].y - obj.vel;
			elseif obj.bullets[i].dir == "down" then obj.bullets[i].y = obj.bullets[i].y + obj.vel; obj.img:rotate(180)
			elseif obj.bullets[i].dir == "right" then obj.bullets[i].x = obj.bullets[i].x + obj.vel; obj.img:rotate(90)
			elseif obj.bullets[i].dir == "left" then obj.bullets[i].x = obj.bullets[i].x - obj.vel obj.img:rotate(-90) end	
			if x and y and w and h then
				if obj.bullets[i].dir == "up" or obj.bullets[i].dir == "down" then
					if obj.bullets[i].x +obj.bullets[i].w >= x and  obj.bullets[i].x <= x+w and 
					   obj.bullets[i].y + obj.bullets[i].h >= y and obj.bullets[i].y <= y+h then
							funct()
							if deadcolision then obj.bullets[i].status == "dead" end
					end	
				elseif obj.bullets[i].dir == "right" or obj.bullets[i].dir == "left" then
					if obj.bullets[i].x +obj.bullets[i].h >= x and  obj.bullets[i].x <= x+w and 
					   obj.bullets[i].y + obj.bullets[i].w >= y and obj.bullets[i].y <= y+h then
							funct()
							if deadcolision then obj.bullets[i].status == "dead" end
					end	
				end
			end			
			obj.img:blit(obj.bullets[i].x,obj.bullets[i].y)
			if obj.bullets[i].y+obj.h < 0 or obj.bullets[i].y  >272 or obj.bullets[i].x+obj.w < 0 or obj.bullets[i].x >480 then
				obj.bullets[i].status == "dead"
			end	
			obj.img:reset()
		end
	end
end
 
 
function weapon.shoot(obj,x,y,dir,sonido)
	if obj.status == "stop" then obj.status = "run" obj.tim_act:start() end
	if obj.status == "run" then
		if obj.tim_act:time() >= obj.tim then
			if sonido then sonido:play() end
			table.insert(obj.bullets,{x=x,y=y,dir=dir})
			obj.tim_act:reset()
		end
	end
end
 
function weapon.action(obj,action)
	if action == "start" then obj.status = "run" obj.tim_act:start() end
	if action == "stop" then obj.status = "stop" obj.tim_act:reset() obj.tim_act:stop() end
end

Imagen de -chus-

hay varias formas

hay distintas maneras, con for, como te indican abajo etc etc, solo es cuestión de probar y buscar ideas uno mismo con lo que ya se sabe XD me imagino que ya es de saber por lo que me preguntaste por MP, se me hace raro esta pregunta XD


                                          Mis Homebrew´s

 http://psp.scenebeta.com/noticia/memorama-games#comment-803033


Imagen de barney77

Yo

Yo lo hago así:

function dispara(object)
if controls.cross() then
	object.x=object.x-8  --disminuimos 8 a la coordenada x 
end
end

Lo de disminuir o aumentar, segun tu caso,  a la coordenada x o y, eso lo haces de acuerdo a la poscisión de tu objecto.

Salu2!.

Y ya para el diparo, cuando impacte, con una colision, eso si lo sabes hacer =D.

Sabes hacer que objetos se

Sabes hacer que objetos se muevan solos... sabes de colisiones... lo combinas todo y ya tienes tu disparo ;)

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.