noisetank's Recent Forum Activity

  • noisetank

    Check the collision box X values on each tine to make sure they are identical (set them to whole numbers). If you have Pixel Rounding set to OFF, and the values are fractionally different, the fork may not collide correctly.

    EDIT: This goes for the two boxes as well.

    Here's a capx:

    https://dl.dropboxusercontent.com/u/12667027/ForkTest.capx

    Good advice! This wasn't the solution, but that fact about pixel rounding was new to me and your capx was helpful in showing that the issue is definitely specific to my events.

    It turns out that my "returning" boolean was getting switched on too quickly, so the second collision wouldn't occur. Adding a small delay (Wait 0.05 seconds) seems to have fixed that, although it's kind of annoying to see the second block lag after the first. I can probably do some tinkering to try and eliminate that, though.

    Thank you for the help!

  • Like this?

    Fork: On Collision with Block
    System: For each Block: Set Block X to Self.X + 50
    [blank]: Set Fork 'returning' to 'True' (which makes the object go backwards)
    [/code:2q7eopcp]
    
    That doesn't change anything. It still only pushes one block.
  • I'm having an issue that I can't quite figure out, so any insight would be greatly appreciated:

    I have a fork shaped object with two equal length prongs. The collision mask is shaped in a way that fits over both prongs. When a key is pressed, the fork object moves forward and collides with two separate blocks (one in front of each prong).

    My collision event looks roughly like this:

    Fork: On Collision with Block >
    Set Block X to Self.X + 50
    Set Fork 'returning' to 'True' (which makes the object go backwards)[/code:p5zn5j2o]
    
    Originally, I anticipated that the fork would push both blocks in this setup. However, it seems that the fork will only push one of the blocks, as though it's hitting that one "first" and retreating before the event can run for the second block.
    
    How can I make the stick push both blocks at once? Hopefully my example is clear enough to address; I would include a .capx but I'm away from my home computer.
    
    Thanks in advance!
  • I use a separate object and pin it to the player, which works for my needs. The "firing" object, which is invisible can free rotate while the player moves independently on the other stick (which I just use 4 directions mapped to the 4 axis, like Gamepad 0 Left analog X axis < -25 | Simulate control left).

  • I haven't personally looked into the program with any great depth, but I did point it out to my artist and it sounds like he's planning on buying (or already bought) it. Importing his work into my Construct project has been seamless enough, though.

    As someone on the Construct programming side who won't be touching the Spriter files much at all (unless I need to resave them in the right format or rename something...small tweaks), is there any advantage to purchasing a copy for myself? The free version has been fine for those tweaks I've mentioned thus far, but I'm not sure if there's like, any limitations with the free version (similar to Construct 2 Free files having 100 event limits which would keep a Free user from opening a file with more than 100 events made in the paid version) or if there's a more advanced Construct 2 plugin available with the Pro version.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • That works great! Thank you for the help (and the detailed examples so I actually understand what it's doing).

  • This one's been driving me mad, especially because it seems like it should be so simple...

    I'm trying to display and save a timer in seconds.milliseconds format (00.00) but I can't seem to figure out a way to keep it uniform. For example, if the time is 15.21, it's fine. If it's 15.20, it will display as 15.2, which creates an annoying flickering effect as the timer flies through.

    I did some searching on here and found this solution: "Time: " & int(timer)&"."&zeropad(round((timer-int(timer))*100),2)

    After spending some more time with it, however, I've noticed that it adds an extra zero in some situations (15.200) which is only slightly less annoying than my original setup. My hacky solution was to set the Text object's wrapping property to "Character" and resize the box so you'd never notice the fifth place, but then I realized that doesn't really work if the player goes up past a hundred seconds...

    Any thoughts? It seemed like the thread I got that zeropad solution from was the best answer I could find, but I wanted to ask the question on here before giving up completely and sticking with it.

  • Cool, I'll keep this bookmarked in case I decide to come back around to it. I'm just happy to have it functional for right now.

    Thanks for all the help!

  • I ended up making a group of events with all the controller triggers set to "gamepad contID" and the functions pass contID, where contID is a local variable in the group with the gamepad ID assigned to it. I still had to make three copies for the other three players, but I only had to change that one local variable for them all to work.

    Is there any advantage (performance or otherwise) to using your method over mine? I almost think mine might be better in the way that I could easily tweak it to allow each player to customize their controller mappings.

  • Would I still need multiple event groups for each player, then, to do four controllers? The way it works in my head is this:

    On gamepad (any number 0-3) A button pressed -> Call "jumpFunction" (gamepad.GamepadID)

    Instead of creating this event four times with gamepad numbers 0-3, I could do just the one and it would pass the gamepad number to the function and perform the action on whichever character has the matching gamepad ID. However, I don't know how to put "any" in the trigger event and it seems like I can't grab the current gamepad ID to pass to the function (gamepad.GamepadID needs a parameter).

    That's all totally theoretical and it's possible it just can't be done this way, but I thought I'd ask.

  • I'm trying to implement a multiplayer aspect to my game and I keep getting tripped up for a reason I hope can be remedied.

    As it stands, I have two event groups: the original player's gamepad events and a copy of the original player's gamepad events, which I tweaked to work with controller 2 and player 2 instead. This is fine and functional until I change player 1's events and forget to do the same with player 2.

    My question is: Is there a way I could wire this up so I only use one event group to control all players? I have the both players in a family, so replacing all the player 1 objects would be no problem, but I don't know how to make sure the controller event moves the right one (controller 0 only moves player 1, controller 1 only moves player 2).

    Thoughts?

  • Drakkith: Read your reply a little late, but it came in handy for my new project. Thank you so much!

noisetank's avatar

noisetank

Member since 24 Apr, 2012

None one is following noisetank yet!

Trophy Case

  • 12-Year Club
  • Email Verified

Progress

13/44
How to earn trophies