Kiwi
Member
Hey guys!
I'm quite new to Gamemaker, so I'm trying to learn by recreating some boss fights I like from various games.
I'm doing Marx from Kirby Super Star, and I've almost programmed all of his attacks except for this one:
I thought of achieving this by creating a spinner object called obj_spinner, and then by sticking this
into the step event:
then on the object which creates the spinners, I made 2 for loops which created two cutters at each side.
(feel free to go mad at me for doing it this way, I know it's not the best)
And all of that gave me this result: (couldn't put an image right here so click this https://imgur.com/eg7VVnG)
Yeah, sure, it rotates, but it doesn't move back to its starting position once out.
I then thought of an idea where I could have a 'path' for each one, where the cutter can travel outwards and inwards on.
I'll put an example here, where the pink lines indicate a path. (please excuse the crappy art)
Then I could just rotate the path from the side, like this:
which I guess MIGHT work, but I'm not entirely sure how to implement it.
Or I could play around with sin and cos to get the result I would like.
Please let me know what you think!
I'm quite new to Gamemaker, so I'm trying to learn by recreating some boss fights I like from various games.
I'm doing Marx from Kirby Super Star, and I've almost programmed all of his attacks except for this one:
I thought of achieving this by creating a spinner object called obj_spinner, and then by sticking this
into the step event:
Code:
speed -= 0.4; //reduce speed by 0.4
y+=2;
(feel free to go mad at me for doing it this way, I know it's not the best)
Code:
for(var i = 0; i < 2; i++){
var inst = instance_create_depth(x, y, obj_mbod_idle.depth+1, obj_cutter);
inst.speed = 10; //set the speed of this cutter to 10
inst.direction = dirl; //and set the direction to dirl, which is 180 by default.
dirl+=30; //increase dirl by 30, to make a gap between each cutter
}
for(var i = 0; i < 2; i++){ //for the right side
var inst = instance_create_depth(x, y, obj_mbod_idle.depth+1, obj_cutter);
inst.speed = 10;
inst.direction = dirr;
dirr-=30;
}
And all of that gave me this result: (couldn't put an image right here so click this https://imgur.com/eg7VVnG)
Yeah, sure, it rotates, but it doesn't move back to its starting position once out.
I then thought of an idea where I could have a 'path' for each one, where the cutter can travel outwards and inwards on.
I'll put an example here, where the pink lines indicate a path. (please excuse the crappy art)
Then I could just rotate the path from the side, like this:
which I guess MIGHT work, but I'm not entirely sure how to implement it.
Or I could play around with sin and cos to get the result I would like.
Please let me know what you think!