oosyrag's Forum Posts

  • Run a loop with a variable counter 50

    While counter > 0

    Pick random spot

    If spot is NOT within minimum of distance of tree - Place tree at spot, reduce counter by 1

    (if it is too close to a placed tree, the event will run again without reducing the counter and pick a new spot to try)

    Edit: Depending on the availability of space for placement, this can be a very inefficient method. If there is not much space left for that last tree, it might loop a ton of times before randomly hitting that spot.

  • Arrays can store strings too. It doesn't have to be a number.

    You'll definitely want to get very familiar with arrays and array manipulation if you are doing a card based game.

  • Helper sprites are always useful and usually the quickest, simplest solutions.

    For a event only version, you would be saving the Touch position to a variable On Touch, and comparing that to the current Touch.X position. With the condition Is In Touch, you can use Scroll to X where X is the difference between scrollx (current screen position) and Touch.X-OriginalTouch.X (length of drag). Depending on where scrollx ends up closest to, you can then set the Scroll to X to the appropriate screen On Touch Released. To get things smooth, lerp can be used as well.

    But yeah I would definitely recommend just sticking with a helper sprite as long as you are satisfied with the result.

  • It sounds like you want to use containers.

    Put the Text Object in a container with the Turret Object. When you create the Turret object, it will also create a Text Object that you can then set the text to.

    The result of this is whenever that Turret Object is picked, such as On Bullet Collide with Turret, the associated Text Object will be picked as well, so you can do Set Text to Visible.

  • Manually positioned animated sprites. Assuming you are not using unique tiles/animations, you only have to load the animated sprite into memory once for all instances of it.

  • Add For Each

  • Thanks for that! I'll give it a shot and see how it goes for html5 export.

  • I have an issue where upon focusing on a textbox to input on mobile (android, chrome), the on screen keyboard will come up and push the textbox off screen. This results in the textbox getting unfocused, and the on screen keyboard going away.

    On a friend's phone (ios, safari), there was the alternative strange behavior where the textbox would get pushed off screen and stay active, but only one digit could be entered.

    Can anyone help me confirm that this happens across other devices and if so, any ideas how should I address it?

    To replicate, scroll down to the bottom and select one of the uppermost textboxes. It works fine if you select one in the middle or bottom of the screen. The problem only occurs when the osk pushes the active textbox off screen.

    Capx: https://www.dropbox.com/s/6rpnt4qtghmo3 ... .capx?dl=0

    At the bottom was an attempt to keep the screen in the same position when the keyboard comes up, but that didn't quite work either. The screen would stay in place, but the osk would pop up and disappear.

  • Those types of games usually use an actual stage and logic from their game, with controls disabled and a basic AI controlling the character. It is unlikely for them to have used an actual recorded video and playback due to memory constraints.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Generally speaking, you can use a timer on your splash screen. If there is no input for 1 minute, then transition to demoLayout. Otherwise, transition to game/menuLayout.

    On your demo layout, you can create this however you want... and just have a trigger on any key/button press to go back to titleLayout.

  • Either

    A: The host needs to pick the random player, and relay the player chosen to all peers.

    B: The peer triggering/picking the random player needs to relay to the host which player was chosen, and the host needs to relay that to the other peers.

    Your second question is the same. Make sure the host determines what is correct, then sync with peers.

    Make sure you actually walk through and DO the multiplayer tutorials, they will make your life a lot easier.

  • It should use collision box.

    Recommend invisible helper sprite in container/pinned if you need a second collision box.

  • Well the data is there, the processing is a bit troublesome due to our calendar system being crap.

    First parse out the relevant information and save to a data structure (array or variable). You'll want to grab the month, year, and day. I don't think you'll need the time. My goal is to convert everything strictly to number of days.

    For each month, you want to convert it to however many days there were BEFORE that month in a year. Lets call these monthDays:

    Jan=0, Feb=31, Mar=59, Apr=90, May=121, June=151, ect...

    So to get the date in days, you would do year*365+monthDays+day. You then compare this final number to the previous one.

    How to deal with leap years and February 29 eludes my limited brainpower at the moment. I imagine it would have to do with using modulo (%) or another set of conditional logic, but yeah... the calendar system is bonkers. Hopefully you get the idea.

  • As far as I understand, XML is just a way to format and store and organize data that is easy to read and understand and work with.

    The biggest advantage (for me) is that you can edit an xml as a project file with a program outside of C2, because working with significant amounts of text in any form using C2 editor only is a pretty big pain.

  • Containers only create and destroy and pick objects together. Each object can still be acted upon individually.

    So create your object (and have the second created automatically), then have an action that moves one to the appropriate layer.