paulscottrobson's Forum Posts

  • First, check if it exists, if it does, then retrieve it. If you look at my Asteroids source (see link) there's a working example.

  • Probably the simplest is to export the spreadsheet as an array in JSON, and if you need to change it, store it in LocalStorage

  • Well, I would look at the Sprite / Load Image from URL stuff

  • Yeah, I know. But following a few tutorials or a course will get you there more quickly. People sometimes jump into these things planning to rewrite Super Mario World, get frustrated and give up. It's much better to start with "Pong".

    Incidentally, I would check that you can use C2 for your project if this is for a course.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • And there's a discount on this week, see the blog, 30% off till Saturday, and it's ridiculously cheap anyway.

  • Because CurX/CurY are indices into the array e.g. 0,1,2,3,4,5,6 and so on. If you use these as sprite positions they will overlap each other by one pixel. You scale it up by the size of the image you are creatting, in this case 16 x 16.

    I would advise not using the constant 16 though, but definiing a Global constant OBJECT_HEIGHT OBJECT_WIDTH so you can easily change it. Generally you should not have constants that represent a value in code unless it is something like "200" for a score (say).

  • Well, music and sfx are probably the easiest thing to add in. There's plenty of free game music out there, and people who will sell you game music, including (probably) the Scirra store. The problem with spending money on such (and graphics) is if your game isn't profitable - and most aren't - then it is down the drain.

  • Follow some tutorials and learn C2 ; this is a very general sort of question and suggests a lack of coding experience. Don't run before you can walk.

  • You can't. You can track using UIDs though, which can be stored in an array. Can you be clearer about what you want please ?

  • Really nicely done (need to set the Character spacing

    How about having some sort of power ups triggered by double tapping ? The problem with this sort of game is because you limit controls you can limit variety as well.

  • It's not really clear what you mean, could you post an example ?

  • If you have a look at my blog http://myconstruct2dev.blogspot.co.uk/2 ... tch-3.html there is an open source match 3 game. The code in the event file "matches" should work for a "match on screen" approach (e.g. you don't have an array or tilemap or string which describes your grid of colours to match), though it is all functions.

  • Depends how serious you are. One way is to have layouts with game names e.g. "game1" "game2" and so on, and use switch to layout with an expression, and use global variables to track the level and the current game and recent ones. If your games are more serious you are probably better to do them as seperate games and link them together using Javascript/HTML

  • You must be losing the 'pick' somewhere ; you should have something like "on collision with branch" "branch.destroy"

  • It depends on what the AI actually is. When I wrote my Pacman game (see blog) - most of these games are experimental learning not actually trying to produce the game so to speak - I wrote the game so there was a single object type which represented the Pacman and Ghosts, and they had different code for deciding what to do - either code that accessed the keyboard, or code that did directional checks etc.

    The way I did this is to have a text instance variable which was an enemyType and use this to call a function indirectly with the UID as a parameter (e.g. FunctionlCall("AIFunc" & Object.enemyType,Object.UID). Functionality can then be arbitrarily applied to any of the object types (enemies in your case) by changing that instance variable.

    In something like your enemy movement where there may be minor variations but very similar AI, it might be worth have a couple of additional parameters as instance variables "modifier1" "modifier2" passed in the call, so that you can reuse AI functionality that is similar but slightly different .