Rhindon's Recent Forum Activity

  • If you're not tied to a tilemap you could do the roads with a few crafted overlapping sprites placed in a grid.

    Honestly, I considered something like that...such as manipulating the sprite mesh. (Something I've toyed with only a little bit in times prior. So it would take some work...)

    The grid/tilemap option seemed best because it's consistent and easier to place the tiles once I have got them all drawn out. But if I could have even more variety in the road pieces? OH HECK, YEAH... But for now, optimization seemed best. I'm not out to make another Need For Speed: Most Wanted or Burnout Paradise open-world city...just something more simple (and still open-world).

  • Here's the filler pieces (on the right) I think you need...

    With your help, I successfully got just the right set of pieces. Two more than I thought I would need, but it's virtually perfect for my purposes! Thank you for your help!

  • Here's the filler pieces (on the right) I think you need, along with all their rotations and variations, if this is what you're looking for (example on the left). It's missing all the main turns and corners though, but I think you can figure those out yourself.

    Basically have attachment points for road pieces at each tile in thirds as shown on the bottom, and have all the variations needed for inside and outside road connections.

    I think you just nailed it! I'll let you know if that's the answer I'm looking for.

    THANK YOU!

  • With just straight and 90 degree turns and intersections I figure you’d need 18 unique tiles (or 6? if you eliminate the mirrored and rotated versions)

    [remainder of quote truncated for ease of reading]

    Interesting! I will try to apply that method.

    And, agreed, there's going to be a LOT of pieces. (I can use the rotate tool inside the tilemap drawing in the layout, so that'll minimize tiles.)

    I definitely planned on limiting intersection types. Right now, I just want to figure out the best way to transition from a 90° turn into a 45° straight and make the 45° straight repeatable before going back to a turn that resolves back to a vertical or horizontal straight. (Easy, right? LOL)

    I am grateful for your help as always!

  • I can't help directly, but on the Kenney.nl site is a "Racing Pack Asset" with road tiles with 45° roads, turns, curved roads etc.

    May be it is helpful for you to see how others have done it. Asset is free and CC0.

    Thank you! And I love Kenney's work. I actually have that very asset pack. Unfortunately, two problems with his work:

    1. The angled roads are 26° and not 45°.

    2. Those same angled roads don't transition from curved into angled (and back). They go from horizontal to horizontal (or vertical to vertical).

    Thank you again for the suggestion, though!

  • I am attempting to develop a diverse set of road pieces for a tilemap in my game.

    The straight vertical and horizontal pieces are easy and done.

    The full 90° turns are also relatively easy and done.

    What I need help with is to draw 45° straight roads using the same width as the normal roads and connecting them to and from curved roads (which would just be the 90° roads cut in half).

    What I'm having trouble with is the positioning of the road pieces within the tilemap grid that (1) uses as few pieces as needed and (2) can be repeated as long as needed.

    Anyone with experience in drawing tilemap roads would be a great help.

    Thank you.

    Tagged:

  • (My apologies if the subject line is confusing. I couldn't figure out how to summarize the issue in a single line.)

    c3p file: https://drive.google.com/file/d/11FYrqAQ4IxS15PrvgXGqd9CD4LA9hCsp/view?usp=sharing

    THE GOAL

    My game focuses on being able to select three superpowers from an assortment of classic comic book-style powers. During actual gameplay, the Player can press the I, O, and P keys to swap between the three powers. Only one power at a time can be active. So far, the power swap system I have in place is working...mostly. But I'll get to the problem shortly.

    THE SETUP

    On the HUD, I have three instances of the same object - ActivePower_HUD - which has three instance variables: SlotNumber (num), Is_PowerActive_HUD (bool), and ActivePower_Name (str).

    SlotNumber - Indicates the object instance's index position on the screen and so it can be easily referenced within the event sheet.

    Is_PowerActive_HUD - To set the frame number of the active animation of that particular object instance. The 0 or 1 value of the boolean makes it easy to set the frame.

    ActivePower_Name - This value comes from the object instance's animation name. (Prehaps redundant, as I need only call the object's animation.) This way, ideally, I can minimize extra event blocks by not having multiple HUD objects per power.

    When the I, O, or P keys are pressed, it calls the function SetActivePower with three parameters:

    PassTo_ActivePowerSlot

    Set_Slot_Inactive_1

    Set_Slot_Inactive_2

    The first variable corresponds to the ActivePower_HUD object instance that is intended to be the new active power. The other two, naturally, are the inactive powers. These variables will only ever have the values 1, 2, or 3. (So, if the O key is pressed, then the value of 2 will be passed to PassTo_ActivePowerSlot because that's going to be the new active power. Whatever power was chosen second at the start of the game will be in the second power slot on the HUD of the game screen.)

    When the function is actually processing, it picks by comparison each instance of the ActivePower_HUD object. It then assigns the Hero object (the one the Player controls) the corresponding power associated with the ActivePower_HUD instance in question. (It also assigns the inactive powers to other variables associated with the Hero, but these do not come into play yet and are just me trying to think ahead...)

    Next, I originally tried to make this system work using function mapping (and I do believe it would have worked) but I couldn't figure out how mapping works so my theory and a much simpler implementation will have to be worried about later. When the active superpower value got passed to the Hero object from the ActivePower_HUD instance object, a series of event blocks checks to see what the value of Hero.ActiveSuperPower (str) is. It also confirms that the relevant boolean instance variable is false.

    Example: Active superpower is Flight.

    IF...

    -> Hero.ActiveSuperPower = "Flight"

    -> Hero.Athlete = false

    Then...

    -> (Do these actions, including setting the Hero.[boolean] to true.)

    This is meant to simply activate the powers and set the parameters of that power.

    After that, another set of event blocks checks to see if the Hero.[boolean], as related to the active superpower, is true. If it is true, it again confirms that the related string variable, Hero.ActiveSuperPower, is still the correct corresponding value. If all checks out, then the controls for that superpower work as indicated.

    However, when a superpower gets swapped out, then Hero.ActiveSuperPower gets updated but Hero.[boolean] is still true (momentarily). When the boolean is true but the superpower value is no longer that superpower, then the superpower is "deactivated" and the related boolean is set to false. Ultimately, this was the best way I could think of to turn the powers on and off without having superpower overlaps.

    Thank you for bearing with me...now to get to the problem.

    THE PROBLEM

    So far, I have only three working powers: Athlete, Flight, and Invisibility. Flight works fine, and swapping between powers is also working. And technically, Athlete and Invisibility also work (though the Hero doesn't actually go invisible...yet). The issue is that when I swap between Athlete and Invisibility, the associated behavior does not work. And both use the Platform behavior but with different property values for the behavior.

    So, I can switch between Flight and Athlete and Flight and Invisibility just fine. No problem. The issue is that when I swap between Athlete and Invisibility, the Platform behavior will get disabled when swapping from one power but for some reason does not get re-enabled when swapping to the other power.

    The odd thing is that I test this by adding breakpoints at event lines 22, 29, and 37 (Hero.ActiveSuperPower = "[power]") and it worked!! When a breakpoint was reached, I swapped between the two powers that both use the Platform behavior. And each time, the Platform behavior was enabled as it should be!

    Again, I apologize for the length of this help request, but I wanted to make sure everything was as clear as could be. I could use some help figuring out why this works with breakpoints but not without them.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • R0J0hound - Thank you, as always!

    Finally getting some time to check this out.

    My main concern was how the Wheel object would "snap" to a different angle upon click or de-click. (Although, fine-tuning the actual turning behavior of the wheel in relationship to the X-drag factor of the Touch is also nice, but that's kind of a secondary issue presently.)

    I'm going to check out your examples now and get back to you if I have any other issues.

    You're a great help every time! GOD BLESS!

  • WHAT I AM TRYING TO DO

    On the mobile screen, I want to have a steering wheel object that the Player will touch and then drag along the X-axis, which will, in turn (heh heh..."turn"...okay, I'll stop), the Wheel. As you can see in the screenshot, I'm using Lerp and Unlerp to accomplish this.

    Regardless of where the initial Touch is at on the screen, dragging left or right from that point should rotate the Wheel accordingly. For the most part, this works...

    THE PROBLEM

    When I click on the Wheel, it "snaps" to an angle rather than remaining at the angle it was "at rest". Because I store the initial Touch.AbsoluteX value to an instance variable in the Wheel, and the rotation of the Wheel is based upon how far the Touch is dragged from that same initial X value, it doesn't make sense why the Wheel snaps to any other angle simply from an initial Touch.

    This problem is repeated upon Touch End. The Wheel does not Tween/rotate to the desired angle when I release the Touch. Instead, it snaps to a different angle.

    WHAT I NEED

    I'm hoping that along with a possible solution, someone might help me to better understand the Touch behavior because I do not use it very often at all. There are particulars I'm definitely not familiar with concerning Touch devices (that seems obvious to me). Or maybe it's just the way Construct 3 handles these things. I don't know.

    I will keep working at this and trying different things, but I would be grateful for some insight.

    Thank you.

  • I have a single instance of a tilemap object with all the road-themed tiles in place.

    From those tiles on the tilemap instance, I want to select only specific tiles and then randomly select one of those tiles.

    What would be an efficient way to do that?

    Tagged:

  • This is an issue I've been dealing with for years...ever since the C2 days.

    Across two laptops and using both the built-in touchpad and an external mouse (several different types), at least half of the time (lately, as much as 90%), when I click on an object while holding down CTRL and drag to make a copy of that object, upon release of the mouse button, the image editor invariably will open. I do not double-click.

    I have tried every variation I can think of to prevent this or figure out what's causing it. Such as...

    - Releasing CTRL at least a second before releasing the mouse button.

    - Releasing the mouse button before CTRL.

    - Lingering the mouse at the destination in the layout for a moment before releasing anything.

    I don't know how to replicate this outright other than to keep using the shortcut and maybe (but almost always) it will happen again.

    I could use some input/insight from someone who is more technically-minded than I am with C3 and/or hardware. Before I submit this as a bug, I wanted to get some feedback first.

  • R0J0hound Nothing in the file?? Odd. I set it so anyone with the link can view it.

    In any case, the example you just posted is basically the same setup as what I have as well.

    I tested something further...

    I opened the Instant Hit Laser example in the C3 example browser.

    Naturally, the use of Ray Cast intersection works...on the two Rock sprites. I added a new sprite but the laser object (via Ray Cast) doesn't detect the new sprite I added. It goes right through.

    But then I noticed something JUST NOW... SOLID BEHAVIOR!!!

    For some reason, Solid behavior is the key! I removed the Solid behavior from the Rock sprite objects in the example and the laser went straight through, just like my sprite that I added. I went back to my project and added Solid behavior to my Wall object and it worked!! The global variable I was testing with also changed to "1" to confirm the Ray Cast intersection.

    PROBLEM SOLVED!

    Again, thank you for your time in trying to help me sort through this!

    I'll keep on saying it every time: you are a blessing and I'm glad you're part of this community. I've learned a lot from you over the years.

Rhindon's avatar

Rhindon

Early Adopter

Member since 8 Jan, 2013

Twitter
Rhindon has 2 followers

Connect with Rhindon

Trophy Case

  • 13-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • x2
    Coach One of your tutorials has over 1,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • RTFM Read the fabulous manual
  • x2
    Quick Draw First 5 people to up-vote a new Construct 3 release
  • Email Verified

Progress

21/44
How to earn trophies