• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Growing Vine

S

Sonus Silver

Guest
Hi, all!

Relative n00b to GM, GML, and these forums, so I apologize for any missteps in my plea for help.

I'm working on my first game—an arcade platformer akin to Wrecking Crew—and I've run into a snag for which I haven't been able to find any tutorials or help or advice: how should one go about making a ladder that grows until it hits another object? Say I have, for example, a sprout on the ground, and I want it to become a tall vine whenever the player does a certain action right next to it. I want the vine to be climbable like a ladder. I have all of the ladder climbing code inside the player sprite, but I'm not sure how to make the sprout grow into a vine. Do I use instance_create or...?
 
P

Paolo Mazzon

Guest
Why don't you just have a sprout object that when you want it grow deletes itself and places a full grown object there?
 
S

Sonus Silver

Guest
Two reasons:

1. The sprout-to-vine is a central mechanic of the game and it will happen often with vines/tree trunks of varying lengths.
2. I want to know how to make it a more fluid action than just a sudden transformation.
 

TheouAegis

Member
Create:
alarm[0]=4

Alrm event:
if !place_meeting(x,y, obj_ solid)
{

instance_create(x,y,obj_vine)
y-=sprite_height
alarm[0]=4

}

It also works with tiles, if you up to use tiles instead. If you want to just draw the vine or whatever as a Sprite chain, then you can work with that too with some modifications.
 
P

Paolo Mazzon

Guest
Two reasons:

1. The sprout-to-vine is a central mechanic of the game and it will happen often with vines/tree trunks of varying lengths.
2. I want to know how to make it a more fluid action than just a sudden transformation.
  1. Give the sprouts a variable called 'length' or something that in turn tells its new vine how long to be
  2. Give the vine object an intro animation
 

TheouAegis

Member
You don't even need objects for the vine/tree itself, just the sprout. This would work with pretty much any kind of ladder mechanic.

If you have a collision map system in place (for colliding with tiles), then set each position in the collision map that the vine will cover to whatever your ladder mapping would be.

If you'd rather use sprites with a collision map, or if you don't even have a collision map in place at all, then you'd need to keep track of the length of the vine.

Code:
// Sprout's Create Event //
height = 0;
limit = 0;
for(var i = y-sprite_height; i >= 0; y -= sprite_height)
{
    if instance_position(x, i, obj_block) //you'd change this to work with your tile/collision system if you had one
        break;
    else
        limit++;
}
grow = 0;
spr = sprite_get_height(spr_Vine);
img = sprite_get_number(spr_Vine)-1;
alarm[0] = image_number/image_speed;

// Sprout's Alarm[0] Event //
image_index = image_number-1;
image_speed = 0;
grow = 1;
height++;
alarm[1] = img*8; //this would basically be image_speed=1/8 for the vine
//Here you'd add a vine tile and/or edit the collision map

// Sprout's Alarm[1] Event //
if height == limit
    grow = 0;
else
{
    alarm[1] = img*8;
    height++;
    //Here you'd add a vine tile and/or edit the collision map
}

// Sprout's Draw Event (for sprites) //
for(var i = 1; i<height+!grow; i++)
    draw_sprite(spr_vine, img, x, y - spr * i);
draw_sprite(spr_vine, alarm[1], x, y - spr * i);
draw_self();

Each segment of the vine would show the vine growing. This way it would be a lot smoother than chunk-chunk-chunk-chunk up the screen while drastically cutting back the number of sprites required.


For the ladder mechanic in which you can jump onto the vine (like in the Gameboy Castlevania games or Mega Man games), if you don't use a collision map, then you can just check the player's position relative to the sprout and see if the player is "on the vine".

E.g.:
Code:
// Player's End Step Event //
var xx=x,yy=y;
climbing = false;
with obj_sprout
{
    if y > yy
    if abs(x-xx)<8
    if yy > y - height * spr
        other.climbing = true;
}
if climbing
{
    // run whatever code you need to here
}
 
Last edited:

Yal

🐧 *penguin noises*
GMC Elder
2. I want to know how to make it a more fluid action than just a sudden transformation.
Then you should create a sprout-head object (kinda like the pirahna plant head of a vine in Super Mario games from World onwards for example) that moves upwards until it hits something or goes offscreen, and creates climbable vines below it at set intervals using alarms or the step event.
 

TheouAegis

Member
Oh yeah. I forgot about things growing out.

In my last code, the idea was that the sprout was kinda like a bush and then the vines would just come out of it. Well, I mean I guess it could still kinda work that way if the vine had a much smaller head.
 
S

Sonus Silver

Guest
Thank you all so much for your replies and help. I'm still trying to figure out what alarms are and how to use them, but I'll give the code above a shot and see if I can figure it out. If I need to ask for any more help, I know where to look. I'll post pics next time for sure.
 
S

Sonus Silver

Guest
Okay, so, looking over TheouAegis' code again, I'm afraid I don't quite understand it. I'm new at this—like, very new at this. I gather that the first set of code is meant to make the vine grow, but I'm not sure how it works.

Also, how would I go about triggering the vine growth via the press of a button when the player sprite is next to the sprout?

For reference, here's what I have for the player sprite:

Code:
//Player Create Event//

//Set up some variables for certain speeds
walksp=4; //Walking speed (4 pixels per frame)
climbsp=4; //Jumping speed (negative because it goes up)
grav=1; //Gravity strength (usually a small value)
//These variables are actually used to move the player
hsp=0; //Horizontal speed
vsp=0; //Vertical speed
ground=1; //Whether the player is on the ground
ladder=1; //determines whether in "ladder mode", i.e. the game reads whether or not you want to climb the sprouts
mew=1

//Player Step Event//

//Keyboard constants
//We use these so we can just type the variables
//instead of "keyboard_check(*)"

KEY_RIGHT=keyboard_check(vk_right);
KEY_LEFT=keyboard_check(vk_left);
KEY_UP=keyboard_check(vk_up);
KEY_DOWN=keyboard_check(vk_down)
KEY_MEW=keyboard_check(ord('Z'))
//This one's for variable jump height:
//Now check if the player pressed left or right and move
if (KEY_RIGHT)
{
   hsp=walksp; //Walk right
   image_xscale=1; //Face right
}
if (KEY_LEFT)
{
   hsp=-walksp; //Walk left
   image_xscale=-1; //Face left
}
//Face the proper way when falling
if (KEY_LEFT and ground=0)
{
    hsp=-walksp; //jump left
    image_xscale=-1; //face left
}
if (KEY_RIGHT and ground=0)
{
    hsp=walksp; //jump right
    image_xscale=1; //face right
}
//Climb up a sprout
//First, we need to verify that we're in "ladder mode"
if (KEY_UP || KEY_DOWN) //if you press up or down
{
    if place_meeting (x, y, obj_sprout) ladder=1 //and if the player object is touching
    //the ladder object, then ladder mode is activated
}
//Now, we need to write out the physics for "ladder mode"
if (ladder) //if ladder mode is activated
{
    vsp=0 //this should negate the effects of gravity
    //you could also type here "hsp=0" to prevent you from moving your avatar left/right
    if (KEY_UP) vsp=-climbsp //up makes you go up
    if (KEY_DOWN) vsp=climbsp //down makes you go down
    if !place_meeting (x, y, obj_sprout) ladder=0 //if you move off of the ladder
    //then "ladder mode" is turned off
}
if (ladder)
{
    sprite_index = spr_cucumber_climb
}
//Stop moving when no keys are pressed
if (!KEY_RIGHT and !KEY_LEFT) hsp=0;
//Keep player facing last direction moved when no keys are pressed
if (!KEY_RIGHT and !KEY_LEFT)
{
    draw_sprite(spr_cucumber_idle, 0, x, y); //change sprite_idle with whatever direction you are going.
}
//Make sure we don't hit a wall
if (place_meeting(x+hsp,y,obj_ground))
{
   //Move until contact with the wall
   if (hsp!=0)
      while (!place_meeting(x+sign(hsp),y,obj_ground))
         x+=sign(hsp);
   hsp=0;
}
//Because we don't use hspeed, we got to move ourselves
x+=hsp;
//Now for vertical motion (jumping and falling)
//Is the player in the air?
if (place_meeting(x,y+1,obj_ground)) ground=1;
else ground=0;
//Fall with gravity
if (!ground and !ladder) vsp+=grav;
//Now it's more complicated.
//When hitting the ceiling, vertical speed must stop.
//The if statement says, "if we hit the ceiling and are moving up"
if (place_meeting(x,y+vsp,obj_ground) && vsp<0)
{
   //We must move up until contact with the ceiling
   while (!place_meeting(x,y+sign(vsp),obj_ground)) y+=sign(vsp);
   vsp=0;
}
//But if we are moving down and hit the floor, we have to land
if (place_meeting(x,y+vsp,obj_ground) and vsp>0)
{
   //Move so we hit the ground
   var cc;
   cc=vsp+1; //A counter, so we don't get an infinite loop
   //Move down until we hit the floor
   while (!place_meeting(x,y+1,obj_ground) and cc>=0) y+=1;
   //Now ground the player
   grounded=1;
   vsp=0;
}
//Again, we're not using vspeed, so we have to move ourselves
y+=vsp;
//Animation - check what our sprite's state is and set accordingly

if (ground) //If we're grounded
{
   if (hsp==0) //Then if we're not moving, change to stand sprite
   {
        if(KEY_MEW)
            {
                sprite_index=spr_cucumberMew;
                image_speed=0.5;
            }
        else
        sprite_index=spr_cucumber_idle;
        image_speed=0.5; //animated at half the rate
   }
   else //But if we are moving, change to walk sprite
   {
      //Reset image index if just now switching to walk sprite
      if (sprite_index!=spr_cucumberWalk) image_index=0;
      sprite_index=spr_cucumberWalk;
      image_speed=0.5; //Change this to whatever works for you
   }
}
//If we're not grounded, but on a ladder, change to ladder sprite
if (ladder) sprite_index=spr_cucumber_climb
//If we're not grounded, and in the air, change to air sprite
if (!ground && !ladder)
    {
        sprite_index=spr_cucumberLeap;
        image_speed=0; //Don't animate
    }
And, for visual reference, here's a pic:

Cucumber screenshot.png

The cat is named Cucumber. The idea is that when the player stands him next to a sprout and presses a button (e.g. "Z"), he meows which causes the vine/tree to grow to the point of those checkered green spots (which are semi-solid platforms with dummy sprites for now). If I can understand how to make the "vine" growth work, I think I can do the other visual stuff I wanna do (e.g. making the checkered green parts invisible until the "vine" object hits them, e.g. widening the checkered green parts when the vine hits them). Thanks again to the people who are trying to help me. I want to understand why certain functions do what they do, so I can eventually work things out on my own.
 
Last edited by a moderator:

TheouAegis

Member
Ok in the sprout's create event, remove the following line:
alarm[0] = image_number/image_speed;

And in the sprout's create event, change grow=0 to grow=-1. The reason for this change is you'll want to make sure the sprout doesn't reset its growing.

Set the image_speed to 0; or if the sprout is normally animated just sitting idly like it's blowing in the wind or dancing like it's a Super Mario Bros. plant, set its image_speed to whatever.
Anyway, you'd want a sprite that shows the sprout growing up. For example, in your sprout sprite you have there, it has leaves at the top. You'd want the animated growth sprite to have the leaves at the bottom of the sprite, then a few pixels higher, then a few higher, then a few higher, then at the top. So in this way, the sprout's sprite will show it growing steadily within the frame of its sprite.

Now as for the vine, if you want the vine to have leaves as well or whatever, then give it an animated sprite in the same fashion as the sprout's growing sprite. I will assume you're doing something like that. I mean, it'd look better that way anyway.

In the player's step event - that code you have there - you can activate a sprout like so:
Code:
if key_MEW
var n;
with obj_sprout
{
    if grow == -1                                                             //Make sure the vine isn't growing or fully grown
    n = x - other.x;
    if sign(n) == other.image_xscale                             //check if the player is facing the sprout
    if x < 8                                                                      //make sure the sprout is close enough, you can change the 8 to adjust the distance
    {
        //The following conditional should be set by yourself. I just wrote it out as code for the sake of completeness.

        if image_speed != 0 then image_speed *= 2;    //If you set an image_speed for its normal sprite, just speed up the sprite
        else
            image_speed = 1/8;                                       //If you didn't set an image_speed, set one now.

        alarm[0] = image_number / image_speed;       //The alarm won't count down until you've set it, so here it's set.
        break;                                                                 //Tell the game to stop looking for sprouts.
    }
}
Before I go on with this, show me a picture or set of pictures showing me how you envision your sprouts growing. Show me what they'd look like growing up and what they'd look like fully grown.

Edit: Originally I had image_speed /= 2, but I meant *= 2.
 
Last edited:
S

Sonus Silver

Guest
Edit: Okay, so here is a pic.

https://1drv.ms/f/s!AryzSb1PGvtci3IzrkRwEH4sAbrj

The idea is for the sprout to grow fairly quickly into a tall, twisted vine. The vine then gets thicker and becomes a tree trunk. The trunk then grows into a flat-topped tree—specifically, a powderpuff tree—the top of which functions as a platform. Cucumber (the cat/player avatar) would be able to climb up the trunk like a "ladder" and be able to stand on the top of the tree. The top of the tree would be a semi-solid platform, i.e. you could also climb back down the trunk of the tree. In addition to this, the flat top of the tree will sometimes grow a new sprout to mew at and grow, resulting in another ladder and another platform. Each stage will have several of these and the goal is to get to the top of the stage within a set time limit. I'm also considering another mechanic that involves growing each and every sprout—including the ones that are unnecessary or seem unnecessary to getting to the top of the stage—so they all grow into trees and blossom.
 
Last edited by a moderator:
S

Sonus Silver

Guest
Here's a pic that's more accessible. Sorry for the double post. If there's a way to upload a pic when editing a post, I have yet to figure it out. Sorry.
 

Attachments

TheouAegis

Member
Oooh... Ok, that makes things a little more difficult.

So you'd want a sprite showing the sprouts growing up. Like I said, leafs at the bottom, then a little higher, then higher, then higher, then top. That will be for plant phase 2 in your pics. Then you'd pretty much use the alarm events I wrote up before. However, instead of setting grow to 0 in alarm[1] when height equals limit, you'd maybe want to set alarm[2] to handle making the vines grow out into a tree (the vines growing into the tree would be another set of sprites). And when you are ready to have the tree bloom, you'd use alarm[3] to handle the timing.

Pretty much, if you can figure out how to get my code to work with you through stage 2 in your picture, then getting stage 3 and stage 4 won't be much of a stretch beyond that.
 

Fredrik

Member
What I'd do is that I'd create a fully grown wine sprite and then remove some parts of it in each sub image, making the last sub look like the sprout as you already have, then reverse the sprite's animation. This way you'd get a nice animation of the sprout growning atleast.
 
S

Sonus Silver

Guest
I'll try to work with those ideas, but there's something preventing me from doing so. Whenever I try to compile the game, it always stops at "StartGame()"; the game window appears, but it never goes beyond the GameMaker logo. Is there something in the code that's causing this?
 

Yal

🐧 *penguin noises*
GMC Elder
Sounds like and endless loop to me. Try adding a bunch of show_debug_message() calls when you create vines, perhaps? Those show up in the compile window without halting the game, so they're pretty useful to monitor things like this.
 
S

Sonus Silver

Guest
Edit: Okay, so apparently there's an infinite loop in this section of the code
Code:
for(var i = y-sprite_height; i >= 0; y -= sprite_height)
{
    if instance_position(x, i, obj_top) //you'd change this to work with your tile/collision system if you had one
        break;
    else
        limit++;

}
show_debug_message ("loop on for(var i...)");
What exactly is the matter here?
 
Last edited by a moderator:
S

Sonus Silver

Guest
Okay, that stopped the endless loop. Thank you so much; I was so distraught about not getting anywhere with the program.

That said, all that happens when I use the code you gave me is that the game creates a sprite of the ladder object above each instance of the ones that are already in the room. (I adjusted the position with the "draw_sprite ()" command in the draw event).

cucumber screenshot.png
 

TheouAegis

Member
Post your vine's sprite strip.

Also i forgot I was going to change the code a bit. Like, in the Alarm 0 event, you'd decrease Y by the height of the sprite so the sprout would actually move up.

Actually, if you want, you can post your project here and I could try to write up a code for you. I keep getting distracted by my cat and the TV when I don't actually have a project open.
 
S

Sonus Silver

Guest
I can post it here—I would like the help—but, if I may beg and choose simultaneously, could you annotate what you do? Like everything you do and why you do it. I'm very new to this. When I learned to make chip music, I learned quite a bit by example, so I'd like to do likewise with this if I can. Thanks very much.

Cucumber:
Create Event:
Code:
//Set up some variables for certain speeds
walksp=4; //Walking speed (4 pixels per frame)
climbsp=4; //Jumping speed (negative because it goes up)
grav=1; //Gravity strength (usually a small value)
//These variables are actually used to move the player
hsp=0; //Horizontal speed
vsp=0; //Vertical speed
ground=1; //Whether the player is on the ground
ladder=1; //determines whether in "ladder mode", i.e. the game reads whether or not you want to climb the sprouts
Step Event:
Code:
//Keyboard constants
//We use these so we can just type the variables
//instead of "keyboard_check(*)"

KEY_RIGHT=keyboard_check(vk_right);
KEY_LEFT=keyboard_check(vk_left);
KEY_UP=keyboard_check(vk_up);
KEY_DOWN=keyboard_check(vk_down)
KEY_MEW=keyboard_check(ord('Z'))
//This one's for variable jump height:
//Now check if the player pressed left or right and move
if (KEY_RIGHT)
{
   hsp=walksp; //Walk right
   image_xscale=1; //Face right
}
if (KEY_LEFT)
{
   hsp=-walksp; //Walk left
   image_xscale=-1; //Face left
}
//Face the proper way when falling
if (KEY_LEFT and ground=0)
{
    hsp=-walksp; //jump left
    image_xscale=-1; //face left
}
if (KEY_RIGHT and ground=0)
{
    hsp=walksp; //jump right
    image_xscale=1; //face right
}
//Climb up a sprout
//First, we need to verify that we're in "ladder mode"
if (KEY_UP || KEY_DOWN) //if you press up or down
{
    if place_meeting (x, y, obj_sprout) ladder=1 //and if the player object is touching
    //the ladder object, then ladder mode is activated
}
//Now, we need to write out the physics for "ladder mode"
if (ladder) //if ladder mode is activated
{
    vsp=0 //this should negate the effects of gravity
    //you could also type here "hsp=0" to prevent you from moving your avatar left/right
    if (KEY_UP) vsp=-climbsp //up makes you go up
    if (KEY_DOWN) vsp=climbsp //down makes you go down
    if !place_meeting (x, y, obj_sprout) ladder=0 //if you move off of the ladder
    //then "ladder mode" is turned off
}   
if (ladder)
{
    sprite_index = spr_cucumber_climb
}
//Stop moving when no keys are pressed
if (!KEY_RIGHT and !KEY_LEFT) hsp=0;
//Keep player facing last direction moved when no keys are pressed
if (!KEY_RIGHT and !KEY_LEFT)
{
    draw_sprite(spr_cucumber_idle, 0, x, y); //change sprite_idle with whatever direction you are going.
}
//Make sure we don't hit a wall
if (place_meeting(x+hsp,y,obj_ground))
{
   //Move until contact with the wall
   if (hsp!=0)
      while (!place_meeting(x+sign(hsp),y,obj_ground))
         x+=sign(hsp);
   hsp=0;
}
//Because we don't use hspeed, we got to move ourselves
x+=hsp;
//Now for vertical motion (jumping and falling)
//Is the player in the air?
if (place_meeting(x,y+1,obj_ground)) ground=1;
else ground=0;
//Fall with gravity
if (!ground and !ladder) vsp+=grav;
//Now it's more complicated.
//When hitting the ceiling, vertical speed must stop.
//The if statement says, "if we hit the ceiling and are moving up"
if (place_meeting(x,y+vsp,obj_ground) && vsp<0)
{
   //We must move up until contact with the ceiling
   while (!place_meeting(x,y+sign(vsp),obj_ground)) y+=sign(vsp);
   vsp=0;
}
//But if we are moving down and hit the floor, we have to land
if (place_meeting(x,y+vsp,obj_ground) and vsp>0)
{
   //Move so we hit the ground
   var cc;
   cc=vsp+1; //A counter, so we don't get an infinite loop
   //Move down until we hit the floor
   while (!place_meeting(x,y+1,obj_ground) and cc>=0) y+=1;
   //Now ground the player
   grounded=1;
   vsp=0;
}
//Again, we're not using vspeed, so we have to move ourselves
y+=vsp;
//Animation - check what our sprite's state is and set accordingly

if (ground) //If we're grounded
{
   if (hsp==0) //Then if we're not moving, change to stand sprite
   {
        if(KEY_MEW)
            {
                sprite_index=spr_cucumberMew;
                image_speed=0.5;
            }
        else
        sprite_index=spr_cucumber_idle;
        image_speed=0.5; //animated at half the rate
   }
   else //But if we are moving, change to walk sprite
   {
      //Reset image index if just now switching to walk sprite
      if (sprite_index!=spr_cucumberWalk) image_index=0;
      sprite_index=spr_cucumberWalk;
      image_speed=0.5; //Change this to whatever works for you
   }
}
//If we're not grounded, but on a ladder, change to ladder sprite
if (ladder) sprite_index=spr_cucumber_climb
//If we're not grounded, and in the air, change to air sprite
if (!ground && !ladder)
    {   
        sprite_index=spr_cucumberLeap;
        image_speed=0; //Don't animate
    }
if KEY_MEW
var n;
with obj_trunk
{
    if grow == -1                                                             //Make sure the vine isn't growing or fully grown
    n = x - other.x;
    if sign(n) == other.image_xscale                             //check if the player is facing the sprout
    if x < 8                                                                      //make sure the sprout is close enough, you can change the 8 to adjust the distance
    {
        //The following conditional should be set by yourself. I just wrote it out as code for the sake of completeness.

        if image_speed != 0 then image_speed *= 2;    //If you set an image_speed for its normal sprite, just speed up the sprite
        else
            image_speed = 1/8;                                       //If you didn't set an image_speed, set one now.

        alarm[0] = image_number / image_speed;       //The alarm won't count down until you've set it, so here it's set.
        break;                                                                 //Tell the game to stop looking for sprouts.
    }
}
Backspace Key Press Event:
Restart the game (for quick reference purposes)

Obj_Top
(i.e. semi-solid platform, to be used as flat top of powderpuff trees)

Create Event:
Code:
sprite_index=-1
Step Event:
Code:
if (instance_exists(obj_cucumber))
{
    if round (obj_cucumber.y + (obj_cucumber.sprite_height-1)) > y ||
        (obj_cucumber.KEY_DOWN) mask_index = -1
    else mask_index=spr_top
}
Draw Event:
Code:
draw_sprite (spr_top, 0, x, y);

Obj_Trunk
(this will be the ladder/trunk of the tree once it grows; when ungrown, it looks like the sprouts in the pics above)

Create Event:
Code:
// Sprout's Create Event //
height = 0;
limit = 0;
for(var i = y-sprite_height; i >= 0; i -= sprite_height)
{
    if instance_position(x, i, obj_top) //you'd change this to work with your tile/collision system if you had one
        break;
    else
        limit++;
}
grow = -1;
spr = sprite_get_height(spr_trunk);
img = sprite_get_number(spr_trunk)-1;
image_speed = 0.25
Alarm0 Event:
Code:
// Sprout's Alarm[0] Event //
image_index = image_number-1;
image_speed = 0;
grow = 1;
height++;
alarm[1] = img*8; //this would basically be image_speed=1/8 for the vine
//Here you'd add a vine tile and/or edit the collision map
Alarm1 Event:
Code:
// Sprout's Alarm[1] Event //
if height == limit
    grow = 0;
else
{
    alarm[1] = img*8;
    height++;
    //Here you'd add a vine tile and/or edit the collision map
}
Draw Event:
Code:
// Sprout's Draw Event (for sprites) //
for(var i = 1; i < height + !grow; i++)
    draw_sprite(spr_trunk, img, x, y - 16);
draw_sprite(spr_trunk, alarm[1], x, y - 16);
draw_self();
There is also a ground object, which functions as a solid platform, and a few other stray things (an object and sprite for a growing sprout and for a smaller sprout) but they don't have any code attached to them. Does this work?

Oh, and here's that sprite sheet; it's very simple:
spr_trunk_strip4.png
 

TheouAegis

Member
Update: I'm still working on it. Had an issue with the vine sprite being 32x48 pixels whereas everything else looks like it's set to a 32x32 grid. That causes some issues with the code.
 
S

Sonus Silver

Guest
Update: I'm still working on it. Had an issue with the vine sprite being 32x48 pixels whereas everything else looks like it's set to a 32x32 grid. That causes some issues with the code.
Thank you so much for your help and for the update. I made the vine sprite that way so it would look better when they're stacked. Would it be easier to have the sprite be a 32x32 like all the others?
 

TheouAegis

Member
Girlfriend not letting me on my computer much. Had to post on forums through my phone lately.

I'm probably going to edit the sprite so that the vine stem is one sprite and the leaves are another. If you have an alternative sprite in mind though, I can work with that. But yes, ultimately it would be much easier to have the vine sprites be 32x32 to coincide with the size of everything else.
 
S

Sonus Silver

Guest
Girlfriend not letting me on my computer much. Had to post on forums through my phone lately.

I'm probably going to edit the sprite so that the vine stem is one sprite and the leaves are another. If you have an alternative sprite in mind though, I can work with that. But yes, ultimately it would be much easier to have the vine sprites be 32x32 to coincide with the size of everything else.
That's fine. Thank you again for your help :3
 
Top