brainwavecreations's Forum Posts

  • Thanks for the help, I really appreciate it.

    But now I have two additional questions. What If I decided I wanted multiple copies of Sprite2 being created. IE, have 1-5 copies of Sprite2 being created.

    Also, does it matter if I use a Local Variable or a Global Variable?

    I'm honestly a bit lost, didn't I answer that in the screenshot? Do you mean, that you have 1-5 different versions of Sprite2, to randomly be chosen from? That could handled in a bunch of different ways.

    If it's a still frame sprite, with no animations. Creating a Sprite Object with multiple frames, with animation speed to 0, and no loop. Then set another variable to a random(0-4), For Each Sprite2 on Creation. And, call that variable for the random frame, at the creation For Each Frame for the Sprite 2 Objects.

    If they are 5 separate Sprite Objects(i.e. Sprite2, Sprite3, Sprite4. Sprite5, Sprite6), then that could be done similarly. But, set another variable to set to one of the 5 Object Names. If they all act similarly, this would be done easily using a Family Object. Then setting random variable, 2-6, and then using "Create Object (By Name)" Action. Object name field would look something like ("Sprite" & RandomNumberHere) without the parenthesis. That is, if "RandomNumberHere" was the name of the variable set before hand. And each Sprite Object is named "Sprite2", "Sprite3", "Sprite4". "Sprite5", "Sprite6".

    It depends on what you are looking to accomplish exactly.

  • EDIT: Unless you mean you have 1-5 versions or types of Sprite2, rather than all being the same copy of Sprite2. I posted another comment in the thread linked to below, covering that concept a bit. I'm just confused what exactly you want to happen when Sprite1 becomes destroyed.

    I answered a very similar question question here, https://www.construct.net/en/forum/construct-3/how-do-i-8/spawn-object-either-location-170881#forumPost1072832 mbuckenmeyer90

    Also quoted the entire thing below. It would be the exact same concept. You can choose where to spawn/create the 5 copies of Sprie2 wherever you set the X, Y coordinates to. Just take out the Block setting a variable to Random(1,5).

    If you just want to spawn 5 copies of Sprite 2 in the same spot as Sprite 1. Then have Sprite1 spawn Sprite2 five separate times, then become destroyed. I'm not exactly sure what you are trying to accomplish. But it would be very similar to your other question answered yesterday.

    Except, rather than choosing a random amount from 1-5 through a variable, to pick how many copies of Sprite2 to create. Just create 5 copies at your desired locations on the X & Y coordinates you would like them to spawn. Unless you want them to all spawn in the same location as Sprite1, then that is even easier. Just have Sprite1 spawn Sprite 2 directly, then destroy Action under that.

    I could create another sample screenshot. If you are looking for something different than this.

    Quoted Post

    "That would look something like the image below.

    When "Locations" equals 1 or 2, I have the System Creating Sprite2 at random locations within the X & Y coordinates.

    If the same variable equals 2 or 3. I have the System create Sprite2 at specifically chosen locations on the X & Y.

    Finally if the Locations variable equals 5. I have system create Sprite 2, at somewhat random locations on X & Y, using "choose"

    There are many ways you could accomplish this. This just shows one way, using randomly chosen coordinates, specifically chosen, or choosing randomly from a few choices for each the X and the Y location.

    "

  • YESS exactly what i was looking for! tysmm

    Of course, you're welcome :). I only pointed you in the right direction, and his YouTube Channel is teaching you what you needed to learn :)

    Be sure to leave his channel a like, and comment if it was helpful for you ;). I've talked to Reilly online, and he's a great dude. I've learned a ton from his videos over the past several months, since I found his Channel.

    Take Care, and have a great weekend!

  • Game Design With Reilly on Youtube has a great series of tutorials for 3D Camera setup, and movement. Here is a link to his video on jumping: https://www.youtube.com/watch?v=Y1d6Pe5gurE&list

    It's quick set of videos. If you wanted to start watching from the first episode, it will get you up and running quickly.

  • The easiest way to accomplish that, would be to import the image as a Sprite Object. Then make multiple frames of the Sprite Object and use the bucket tool to fill in the Blue areas with other colors. Then untick the Loop option, so the animation does not play/loop. Along with setting the animation speed to 0, so the animation will not play at all.

    Then in the events, set the corresponding Animation frame you want in each scenario, using the "Set frame" Event. For example, if frame three of the Sprite Object is the image with Yellow where the Blue currently is. Then just use Set Frame, and put 3 as the value for the frame.

    You can change it using an effect filter as well. If you wanted to get real fancy. You could separate the blue section, then create two separate sprites, with the blue section layered on top of the other. Maybe using an event to set it as a child, or simple pin it to the sprite layered below it?

    Then add the Tint Effect to the sprite on top, containing the blue sections. Then use Events in the event sheet to manipulate the Tint values to whatever colors you want, when certain conditions are met in game.

    There are always many ways to accomplish one single idea. Depends on if you want to keep it simple, or complicate it. I usually go the simple route, unless it's something that really has need to be something more complex.

  • Hey folks :)

    I rarely come here to show off what I've been working on. But, I figured I'd pop in, and ask for some opinions.

    Earlier today, I added a new player mechanic, where he butt slams down into the ground to cause damage. Think, Yoshi Down "B", haha. I also added a new enemy to the game, where you need to butt slam the ground to flip it over, before jumping onto it. Similar to the spiked turtles in Mario games.

    In your opinion. Based on the video linked below. Should it stay as it is, and smash the enemies into the ground. Or should it cause Teddy to bounce even higher than the normal jump/land bounce on the enemies? EDIT: I think the only section in this particular video where you can see that bounce height, is when he jumps on the turned over turtle.

    Just curious what the majority vote would be XD

    Thanks for taking the time to check this out, and share any feedback you may have :)

    I hope you all are having a fantastic 4th of July weekend as well ;)

    Subscribe to Construct videos now
  • mbuckenmeyer90 - That would look something like the image below.

    When "Locations" equals 1 or 2, I have the System Creating Sprite2 at random locations within the X & Y coordinates.

    If the same variable equals 2 or 3. I have the System create Sprite2 at specifically chosen locations on the X & Y.

    Finally if the Locations variable equals 5. I have system create Sprite 2, at somewhat random locations on X & Y, using "choose"

    There are many ways you could accomplish this. This just shows one way, using randomly chosen coordinates, specifically chosen, or choosing randomly from a few choices for each the X and the Y location.

  • That is awesome to hear! It's always a great feeling, when you've conquered a bug/issue within a project, especially if it's been causing problems for a while. Congrats on figuring it out! With time, you will become proficient at finding and exterminating those bugs!

    I just watched the video, and Subscribed to your YouTube Channel :)

    This project looks sick! I love seeing clones of SNES games. I was working on a Zelda: Link to The Past clone years ago, but unfortunately never stuck with it. Maybe I will make time in the future to create one in Construct 3.

    This though, looks exactly like I remember the original. From the(I assume ripped) artwork, to the jump/gravity, dash mechanic, charge beam, etc. Mega Man X, is easily in my top 5 all time favorite SNES games. I cannot tell you how many times I've played through the original title in the "X" series XD

    Keep up the great work! I'm looking forward to seeing future development videos ;)

  • Thank you very much for this explanation!

    Of Course. You're Welcome :)

  • Sorry for the double post. But, to see the difference. You can open the example you provided originally. Select the Arrow Sprite in the Layout Editor. Then manually change the "Angle" field in the Properties on the left hand side to different values, from 0-359 to see what we are talking about as far as visual/facing angle

    EDIT: It also appears the example is only reading off the movement on the Y Axis. So up is negative, down is positive.

  • Hey there Ecation :)

    That is because, in your example file. You are reading the angle that the Sprite made to look like an arrow is moving.

    If any object in Construct 3 is moving towards the Right on the X Axis, or Down on the Y Axis it is moving in a positive direction. If an object is moving Left on the X Axis, or Up on the Y Axis, it moves in the opposite direction, which then become negative.

    So to make a platform object jump, you are changing the direction of movement into a negative number/value. Or say a trampoline in my current project. When the player lands on top of it in any way, it will set Platform Vector Y to -600 or -2000 depending on which trampoline is jumped onto(and how I've setup that trampoline's power variable). Which shoots the player upwards, and acts as a high jump.

    If you start falling from that jump, then it's now moving in a positive direction on the Y Axis, from it's current position moving downward.

    I hope that makes a little sense. The easiest way I learned angles and directions of movement in Construct 3. Is moving my mouse around the Layout Editor, and then watching the "Mouse: (x, y)" in the bottom right of the Layout Editor window. Moving it around, you can see the X and Y values increasing/decreasing, depending on the direction you move your mouse cursor.

    EDIT: To further clarify. It's different from the facing angle. The facing angle works like a clock as mentioned earlier. Where facing right is 0, down is 90, left is 180, up is 270. Then right before completely becoming right faced again it goes from 270-359, then hits 0 when the object faces exactly to the right again.

    So the Object facing angles, and the movement X & Y values are different in the way they work. After messing around and creating different games in Construct 3 it becomes much clearer over time. It took me a while of playing around with my Mouse Cursor location in the layout view. As well as manipulating object angles in the layout editor properties on the left hand side directly to figure it out.

    FURTHER EDITS: Clarifying between "angles" and "directions" in some areas, to hopefully have this make more sense.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Always happy to help. I just edited my previous comment to include a link to my entire Player Event Sheet. In case you missed it, https://ibb.co/sqbzGgg

    Not sure if it will help. I jump with the Space Bar, which is on a separate Event Sheet. But, you can see how I handle various states, jumping, double jumping, landing, etc.

    It's a bit sloppy still. But, I do my best to comment, and organize into groups. You might find it helpful study aid. I'm going to have dinner in about 20 minutes. Afterwards, I'll be back online.

  • Apologies for the double post. But, I'll be on Discord for a while longer. Feel free to add me if you are on there. My username is between the quotations, "Fun & Games#6077"

    I can take a quick look at your Project File, if you'd like.

    EDIT: Here is a link to an entire screengrab of my Player's Event Sheet: https://ibb.co/sqbzGgg. If you want to get an idea of how I'm handling the various states of Teddy, in my project.

  • Yeah, I would set it up to jump with a certain key. Then on player landed, set back to idle/walking/etc. The only time I really mess around with Vectors, is for trampoline objects, sliding attacks, or knockbacks from enemies, etc. Or if I need to set the Vector(s) to 0, if they are causing an issue. The platform object will store the Vector value, then call it again.

    I had an issue where my player would go into EdgeGrab of a ledge. And, if I pressed "S" to "Fall" out of the EdgeGrab state. The player would jump up a bit, before the "Fall" took place. This was because there was still a value held within Vector Y in that case. Then when I used the MoveTo behavior for the EdgeGrab it was moving the player to where it needed to be. But, without setting Vector X and Y to 0, the player was jumping and/or moving a bit left or right when I was trying to drop out of the EdgeGrab.

  • Looks like a sweet MegaMan X clone you have going there :). The gravity and jump in the video, reminds me of underwater areas of the original game.

    When bugs crop up, I usually try to think of what I most recently added into my game, that may conflict with game play mechanics that were working previously.

    I like keeping backups of each project, saved at different stages of development as well. So I can go back and review any changes I've made over time, or see how I was performing certain actions the day or two beforehand. If something strange happens along the way.

    It's handy to use a collision box for the platform behaviors, then an animated sprite moved overtop and set as a child of the collision box at the start of layout. Using the collision box for any behaviors & collisions, and the player sprite on top for all the animations during various conditions. Especially, if the frames of the Player Sprite, Enemy Sprite, etc, change dimensions over time.

    You can somewhat see what I mean in my YouTube video here: https://youtu.be/kHscxNDZqXU . There is some debug text used to keep an eye on the Player's State as well. As you can see the enemies do not use a collision box below the animated sprites. This is because I am sure to keep each frame of every animation the same dimension. So when I set a bounding box, origin point, and image points to every animation. They will be at the exact same location in each animation and frame of the enemy object.

    Hopefully that makes some sense. Sometimes I feel like I'm just rambling. But, I'll have a tutorial series soon, where folks can follow along and recreate what I've got going in Teddy's Adventures.

    Like lennaert said, there's probably a simple conflict somewhere in your event sheet(s). This happens to me all the time. There may need to be an extra check somewhere to see that you are not jumping/falling, but are on the ground. Then if so, set back to idle/walking states depending on if the keys used to move around are being pressed or not.