Alguien sabe como hacer un cañon estilo este, http://www.kongregate.com/games/microsheep/micro-olympics
Es que estoy intentando pero no se por donde empezar.
Muchas Gracias
Pongo un ejemplo igual al del juego, pero con valores inventados que eso ya luego lo calibras tu <.<
, todo improvisado, no te fies mucho de mi xd
---
sprite cañón sin el soporte, sprite soporte, sprite lo que lance.
objeto con el sprite soporte, dealo sin nada
objeto con el sprite cañón (el sprite apunta a la derecha, por el royo del angulo).
en su create:
tiempo = room_speed*10; //10 = segundos que tarda en terminarse el tiempo para que el jugador dispare;
angsp = 5; //velocidad demovimiento del cañón, el ida y vuelta ese que sale en el juego;
potencia = 0; //empieza con 0 luego ya se vera más;
potenciamax = 100; //el máximo de potencia que puede disparar;
dir = -1; //para que sepa hacia donde se va moviendo el cañón.
fase = 0; //fases del cañón, 0 será al elegir el angulo, 1 la potencia y 2 el disparo;
image_angle = 360; //esto lo pongo para no liarme luego poniendo numeros negativos, no tengo anas de pensar xd
en step:
if fase == 0
{
if dir = -1 //el -1 indica que queremos que empieze yendo pa la izquierda el angulo
{
if image_angle <= 270 dir = 1; //si se pasa del grado 270, osea, recto arriba xd, pues cambia de direccion
else image_angle -= angsp; //y si no, pues tira pa la izquierda el angulo que es a lo que iba xd
}
else
{
if image_angle >= 360 dir = -1; //pos lo contrario a lo anterior xd
else image_angle += angsp; //recuerda en create esta variable, a más pongas más rapido girará xd
}
}
else if fase == 1
{
if dir = 1 //aprovechamos la misma variable pa indicar cuando sube y cuando baja la potencia :P
{
if potencia < potencia max potencia += 1 //1 o más si quieres que vaya más rápido, o puedes poner menos potenciamax, eso a tu lo vas probando xd;
else dir = -1;
}
else
{
if potencia > 0 potencia -= 1; //lo mismo que antes;
else dir = 1;
}
}
else
{
if !instance_exists(objeto_bola)
{
bola = instance_create(x,y,objeto_bola); //metemos la creacion en una variable para poder darle lo elegido, luego en otros eventos, antes de que sea la fase 2, se le pondran bien las variables;
bola.speed = potencia;
bola.direction = image_angle;
}
}
en el click o donde te plazca... vigila no pongas uno que al mantener siga todo, pon los pressed esos como se digan xd
if fase < 2 fase += 1; //las variables que usas para la bola de image_angle y potencia, al cambiar de fase se quedarán como quedaron y al ultimo click, a la fase 2 se ponen a la bola tal y como quedaron :)
al objeto_bola...
en step:
gravity = 1; //esto, pues eso, que lo calibres tu, que asi yo a ojo, seguro que nada encaja xd, la bola saldra disparada a saber que velocidad xd, en la misma direccion que el ángulo del cañón y al añadirle gravedad, irá bajando
image_angle = direction; //esto ponlo si el sprite que use, te interese que miere alante siempre según cae :)
Y bueno... el tubo de la potencia, no tienes más que usar un draw_healthbar mismo, usando de variable la potencia. si te lias con eso, preguntalo y ya si eso te respondo mañana xd, joer que sueño xd
Jajajaja, que bueno. lo he probado asi rapido y es mas lo que buscaba. muchas gracias. Si necesitas algo me dices, te debo una.