oosyrag's Forum Posts

  • First thing that comes to mind would be to either create an animation out of it using sprites, or dynamically generate and place text objects that contain one letter each, then you can manipulate them individually.

  • I'm interested in this as well. I explored this briefly a long time without much success, trying to use an invisible textbox and having the spritefont update every tick to whatever was in the textbox, but I don't recall that working.

    I had thought of another idea where when you click the spritefont, it would enable a group of controls where every keyboard key trigger would append itself to the spritefont text when pressed, but that seemed so clunky and inefficient I never actually tried it.

  • Sorry I'm not familiar with Nuclear Throne, but here are some expressions that might be useful to you.

    [quote:rgz7gf0m]clamp(x, lower, upper) - Return lower if x is less than lower, upper if x is greater than upper, else return x.

    distance(x1, y1, x2, y2) - Calculate distance between to points

    In the event where you set the crosshair to your mouse position every tick, add the condition system compare two values: distance(player.x,player.y,mouse.x,mouse.y)<100. This will make it so that once your mouse gets farther than 100 pixels away from the player, the crosshair will stop updating its position. Probably not the effect you are looking for though...

    Clamping your crosshair position to player x and player y +-100 would result in a square range around your player, also probably not what you are looking for...

    Quick workaround I can think of is to use both together by using two actions every update tick - move the crosshair to player.x, player.y, and then move it at angle towards your mouse, amount being distance from player to mouse clamped at maximum 100. It looks like this:

    Every Tick | Move crosshair to player.x, player.y
               | Move crosshair clamp(distance(player.x,player.y,mouse.x,mouse.y),0,100)
                 pixels towards angle(player.x,player.y,mouse.x,mouse.y) degrees[/code:rgz7gf0m]
    
    Unfortunately I have no idea how you plan on setting up controller aiming so this might not work with that! I hope it gives you some ideas to work with though.
  • Maybe you need to set the Origin Point to the center of the turret sprite? Is it in a corner right now?

    How/where are you creating your bullet? It is a little unclear what exactly your problem is from the picture and description. A capx could help in diagnose the problem.

  • Do you need the other sprites you want to pass through have the platform behavior? If you need it just for gravity, you can do similar with the bullet behavior.

  • So the characters are NPCs? Try searching for some pathfinding tutorials. If you can have them go to a certain spot this is an extension of that.

    For each NPC, set up a list of preferred machines, and pick one randomly from that list. This represents the choice. This can be modified by variables such as machine popularity.

    When they reach the machine, toggle the machine availability and change the animation of the sprite to represent they are using it.

    Or am I on the wrong track because I seem to have answered completely differently from previous poster. Maybe clarify exactly what you are trying to do?

  • As far as I know, you'll have to do it manually one way or another.

    1. Set collision polygon

    2. Use invisible collision sprites overlapping the visible one.

    3. If your maze is square, it might be fastest to paint/trace over it in a tile map editor and use the tile map for collisions.

  • The free version can only have 4 layers, although you can put as much as you want on those layers.

  • I'm going to chime in that while dicitonary's and variables are mostly interchangeable in terms of function, variables are autofilled when entering expressions and dictionary keys are not. Instance variables are also logically tied to their objects for picking purposes. Local variables are automatically clean up after themselves. All of these together save me immeasurable amounts of time and brainpower (which unfortunately is always in limited supply).

    As for storing data in any significant quantity, I always resort to arrays as they are much more flexible in what you can do with them.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 150 updates+ over 5 years of post release development for a one time payment from what amounts to a one man coding army while also maintaining relatively constant community presence and responsive feedback on these forums?

    Not to mention he gave away pretty much full functionality to I'd assume a majority of users who's projects never make it over 100 events.

    I'd say it was well worth it just provide a very low barrier to entry and exposing a large amount of people to programming and thinking through algorithmic logic, but I'm not the one who needs to feed himself with software sales.

    So yeah I believe in what Ashley is doing.

    Besides that, its not like your license, assuming you bought one, ever expires or you'll stop getting free updates. There's nothing stopping you from experiencing/using multiple tools and sticking with what works best for you. In fact I highly recommend exposing yourself to all the tools available to you to be able to properly compare experiences rather than just through general impression based on a software's public forum.

  • I would try simplifying by cutting out the for each and avoiding UID, two common sources of problems. You probably don't need the array either.

    Try using "pick nearest hrrrn to player.x player.y" in place of the "for each hrrnn" underneath the overlap condition. From then on in this event, only that hrrnn will be affected by actions.

  • From an artists's point of view, you really should create a second set of assets for night time for a natural look. Objects change the way they look in different ways when lit by different sources of light. There isn't really a quick filter you can use to simulate this in a sprite based engine.

    Even with a 3d engine it is simpler, but it can take a lot of work to customize lighting for a proper night scene. This is why a lot of games opt out of having day/night cycles, sometimes it isn't worth the time investment.

  • I see, a progressive increase in accuracy is much more efficient, and no need to worry about overlapping multiple objects.. Also yay for custom particles, I was just running into some limitations of the particle object in my own project, like not being able to have random angles. This will do nicely

  • That's a little different - your player object is doing the spinning, not an object spinning around your player.

    8 direction behavior works based on setting the angle/direction of your player sprite, so if you change the player sprite's angle with events, it fights against your 8 direction behavior.

    If you want your player sprite to spin and move with 8 direction, you can try using an animation for the spin.

    Or have another separate sprite object pinned to your player sprite, that should be able to spin no problem while the player sprite moves.

    A third way would be to have your player with 8 direction be invisible as a placeholder, and pin a sprite on top of that with the graphics and have that spin. (Same idea as second method)

  • We'll need to see your event sheet to troubleshoot this. Can you post a capx?

    An very unlikely possibility is that on some keyboards certain keys can't be pressed at the same time.