lionz's Forum Posts

  • We'll have to see the event sheet to work out where the picking went wrong.

  • Pick object, animation is playing 'Weapons'

  • It's a common problem I see on here as the animation checks get way out of hand, branching off into something like if player is on floor, and is not landing, and is not shooting, is not moving, then play this animation, then it becomes impossible to follow. Better to start with basics for these animations and keep it as simple as possible.

  • Yeah I can imagine where the problems are with the inefficient events. As you get better at Construct you can limit the number of things you are checking against. For this you would put conditions at the start of the player's general movement saying that they are not frozen, then if they are frozen you set idle animation. Unfortunately you are now left with a bug that you'll have to debug and find out the problem. The likely cause is the timer not resetting as expected.

  • Well maybe not disable the whole behaviour but you can restrict movement by setting max speed to 0.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Couldn't this just be a single event? When player attacks, disable platform behaviour, wait for 'timer', enable platform behaviour.

  • You could use system compare two variables, if distance(player.x,player.y,enemy.x,enemy.y) less than equal to the 'range value' then enemy set position self.x or self.y +/- value depending on direction. The distance formula calculates the distance between the two objects. You could also do it another way which is to stick an invisible sprite on the enemy and have when player overlaps that sprite then teleport the enemy with set position, the both accomplish the same thing though.

  • Well to teleport it would be set position I guess. If distance between the two is such a value then set the enemy's position to self +/- some value. Pretty simple unless you are looking for something more elaborate.

  • Create a family instance variable and toggle this to a different value for the family instance when the instance is picked as immune. Then under the acquiring target events add a condition that the family instance must have family instance variable set to the non-immune value to be picked.

  • When you pin it to the sub, select 'position', not the default 'position and angle'.

  • It should work but it might not be flexible enough for what you want. If not, then post back in here, there will be tons of ways such as setting the value of the objects to submarine+/-x,y, or I think you can put the UI items into a layer with parallax set to 0,0 which means they never scroll.

  • That's another very generic question, are you a beginner because I would suggest taking a look at the manual before starting something as detailed as a megaman style platformer game. In general you are looking for conditions (press C on an event) then it allows you to run something based on a variable being a certain value. An int is a number, a string is text and boolean is true/false, they can be used as conditions or 'if statements', run an event if such a value is x.

  • Many ways to do it but the easiest might be pin behaviour, apply pin behaviour to the objects, pin them to the submarine in their starting positions and they will move with it.

  • Say I wanted a boss to dig underground, effectively disappearing from the stage. Seconds later, four piles of gravel appear, one containing the boss. If the player attacks that pile, the boss takes damage, pops up, and all other piles disappear. If the boss’ pile isn’t touched, the other piles explode into bullets, two shooting either way horizontally, one shooting up, and two at 45 degree angles. After this part of the attack, the boss charges up, then creates an explosion that you have to get away from.

    Look into using instance variables. You can give the boss a 'state' variable to control what it's doing.

    boss.status = "digging" > trigger dig pattern

    wait 2 seconds

    boss.status = "underground" > trigger gravel pattern

    gravel pattern > create 4 gravel at x,y > choose gravel UID 0-3 and assign one to be the boss, at this point also assign gravel.angle for shooting later

    player attacks gravel where boss=true > boss take damage, destroy gravel

    player attacks gravel where boss =false > destroy gravel > spawn bullet at gravel.angle assigned earlier (i.e. 0 shoots to the right, 180 to the left)

    boss.status = "charging" > trigger charge attack pattern > spawn explosion

    Another example, the boss jumps around with his sword out in front of him. After five jumps, he hops to a high up part of the stage unreachable by the player and begins to throw bullets down at the player.

    Add a counter variable, every time the boss jumps add 1 to it, when it reaches 5, run the pattern for jumping to the higher stage and spawn bullets

  • Yes it's possible, but the question itself is too generic, 'how do I go about it'. You can use conditions or run functions that happen when something is true. If the boss hp is half then increase the damage done. To cycle attacks you just run a function which is a pattern of attacks and when that ends run another function. You can use 'choose' to set a variable randomly and pick functions to perform them in a random order.