dop2000's Forum Posts

  • This should be easy.

    Touch is touching Wheel

    ------------------> Ship set angle to angle(Wheel.X, Wheel.Y, Touch.X, Touch.Y)

    You can add lerp for smoother rotation:

    Ship set angle to anglelerp(self.angle, angle(Wheel.X, Wheel.Y, Touch.X, Touch.Y), dt*8

    By the way, the best Asteroids game I've seen is Pew Pew. It's so cool!

    https://play.google.com/store/apps/deta ... wpew&hl=it

  • I'm probably doing something stupid and will soon feel like an idiot...

    Yes, I think you will

    You put AJAX.LastData in quotes.

    Simply remove the quotes.

  • If you mean "Override high DPI scaling" setting on Compatibility tab in C2 shortcut - I tried this and it didn't help.

    In fact, I tried all compatibility settings and none of them made any difference.

  • Try saving the file to disk, open in Notepad, save with UTF-8 encoding, then re-import it to your project.

    This worked for me.

  • Try Physics behavior.

    On Touch - apply impulse at angle angle(Touch.x, Touch.y, Ball.x, Ball.y)

  • What minefield game?

    This one?

    https://www.scirra.com/arcade/puzzle-ga ... weepy-8557

    (there is a link to download the source project)

  • Added a button, on click -> Browser go to URL.

    Opened the project in preview mode on mobile.

  • Browser -> Go to URL "https://www.google.com/maps/search/?api=1&query=pizza"

    This works on my Android phone.

    According to the documentation:

    [quote:zcw34zck]On an Android device:

    If Google Maps app for Android is installed and active, the URL launches Google Maps in the Maps app and performs the requested action.

    If the Google Maps app is not installed or is disabled, the URL launches Google Maps in a browser and performs the requested action.

    On an iOS device:

    If Google Maps app for iOS is installed, the URL launches Google Maps in the Maps app and performs the requested action.

    If the Google Maps app is not installed, the URL launches Google Maps in a browser and performs the requested action.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • jobel

    I believe badmoodtaylor was asking about using multiple array instances vs multiple array objects.

    I don't think there are any differences in terms of performance. Use whatever method is easier and more convenient.

    If different arrays have different purposes - use multiple array objects.

    If you want to attach an array to every instance of some other object (for example Enemy sprite + EnemyStats array), you can add them both to a container. This way each EnemyStats instance will be created automatically and will be linked with its Enemy instance.

  • I don't understand this dialogue system, so my solution could be wrong, but I think the problem is with event #19, it's at the wrong level.

    Try moving event #19 like this:

    Also, check out this dialogue example (there are working download links in comments):

  • It's called picking, and it's the most important concept in Construct programming.

    Use events to pick instances of slime1 object.

    In your example "On collision" event picks 1 instance of slime and 1 instance of bullet. Inside this event you can only control these instances.

    There are lots of events that can pick instances, say "Slime1 is visible" event will pick all visible instances.

    "System -> For each slime1" event will loop through all slime1 instances, picking one instance at a time.

    If you don't pick any instances in the condition (left) part of the event, than everything you do in the action (right) part will affect all instances!

    And by the way, read my comment above about families. You should add all your bullets to a family, and remove duplicate "On collision" events.

  • If AI opponent takes 1-2 seconds to think, it should look ok.

    In fact, it's better than instant shot without any delay.

    You can play some "I'm thinking..." animation or move the cue from side to side while the AI is "planning the shot".

    And also, calculating 7200 scenarios should take far less time than you think.

    I would suggest using this plugin (click Preview link to see how it works):

  • Since you are planning to have more types of slimes, there are two ways to do this:

    1. add them as different animations to the same "slime" sprite,

    2. or add new sprites (slime2, slime3 etc.) and combine them into "Slimes" family.

    One sprite with multiple animations may be easier, but if you want them to be different objects, go with the family.

    Use instance variables, I believe variables xMove, yMove, xDirection, yDirection, way should be instance variables, as they will be unique for each slime instance.

    If you decide to use the family, you should do these changes while the project is still small (this will save you a lot of time in the future):

    Move all instance variables and behaviors from the slime1 sprite to the family level.

    Change all your events to work with the Slimes family.

    So your function could look something like this:

    On Function "Compare"

    For each Slimes

    ...Set Slimes.xMove ...

    .....

  • Could you share your project or a screenshot of your events?

  • [quote:qrv9rltk]On start of layout -> check item "highscore" exist

    On item "highscore" exist -> get item "highscore"

    on item "highscore" get -> set "highscore" Localstorage.ItemValue

    Score > highscore -> set item "highscore" to score.

    The last two events are wrong.

    Should be something like this:

    Variable LevelScore=0

    Variable HighScore=0

    On start of layout -> check item "highscore" exist

    On item "highscore" exist -> set Global Variable HighScore to Localstorage.ItemValue

    When level ends

    If LevelScore>HightScore -> Set HighScore=LevelScore ; LocalStorage Set item "highscore" to HighScore