GeometriX's Forum Posts

  • Joannesalfa, that's why I suggested he use max(0,PlayerAttacks.Damage-Enemies.Armour). That will never remove less than zero hitpoints.

    MustacheGolem, you need to set the family itself to have those instance variables - that's the beauty of families. That way, anything within the family gets its own instance of that variable. So, your enemies family itself could have hitpoints and armour, for example, but when you put each enemy on the layout, you can specify individual hitpoints and armour values for each.

  • Create an event Bullet On created -> Set bullet angle 270, or add that action to the event in which the bullet is created.

  • You can't change the collision poly at runtime, but depending on your situation there might be a more efficient way to do this.

    Are all 60+ items quite distinct in their shape and desired collision polygons? If not, you're much better off using a single collision detection object that's duplicated for each item.

  • It's an expression, not an action. So, for example, you'll set the value of a variable to choose(a,b,c).

    Using floor(random(55)) should give you what you want without favouring any numbers, though.

  • I'm sure there are plenty of ways to go about it but here's mine. I use armour values for enemies and armour piercing for player attacks. My event looks like this:

    PlayerAttacks On collision with Enemies -> Subtract max(0,PlayerAttacks.Damage-max(0,Enemies.Armour-PlayerAttacks.ArmourPiercing)) from Enemies.Hitpoints

    If you don't have armour piercing (although I do recommend it - it makes for some fun diversity in weapons) , then the expression would just be max(0,PlayerAttacks.Damage-Enemies.Armour).

  • I'll +1 this; ran into a situation that requires this just the other day:

    Multiple enemies, all with common behaviours and variables, sitting nicely in a family. Now I want each enemy to have a separate damage infliction hit box that moves around. Referring to each box requires some event sheet finagling that would be eliminated if I could simply call each damage box in the context of the family, instead of having to do weird things like for each family object -> pick nearest damage box just to let the engine know which one I'm talking about.

    Okay, that's a pretty straightforward example, but some of the stuff I was doing required some more complex gymnastics that I wasn't happy with.

  • I've also been getting this quite often. It happens at least one in every twenty times I test, and usually in clumps. Restarting Chrome and/or Construct sorts it out most of the time.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • If you're using the platform behaviour, use the Set vector x action.

  • You can use web fonts, but support is a bit spotty and the results aren't always predictable.

    Just use sprite fonts. That way you always know exactly what you're going to get. File size shouldn't be more than maybe 100kb.

  • Throwing in my +1, too. Fullscreen mode needs some attention in particular.

  • I got the basics down with the first two tutorials. Thereafter I just jumped in and started messing around. I trawled the forums and manual for anything I couldn't figure out myself, and I spent a lot of time solving issues for other people as a way of learning how to do specific things myself.

    Not to say that I'm "done", but I think I have a pretty good grasp of the software. I continue to learn new things every day, though, but I'm not much of an academic person - I prefer to learn by doing, and that "doing" is simply making games!

  • No, that's fine. Many games get into the thousands.

  • You've probably already inserted the function object into your project. Once it's in, then it doesn't need to be created again, just call it from the event sheet.

  • Add another condition in your interaction events that checks if the layer is visible. If it's invisible, then the actions won't run.

  • Random is random, so you're probably just doing something wrong in terms of using the results.

    If you create a simple event to change the text of a text box every second to random(100) or whatever, does it work?