dop2000's Forum Posts

  • The "smooth scrolling" example in that tutorial is for precise scrolling with the stick, its speed depends on stick position.

    If you need constants scrolling speed, simply enable ScrollTo behavior for your character (the one controlled with the gamepad). The screen will always scroll with your character.

    If you want a smooth "inertia" effect, you can disable ScrollTo and add these events:

    On every tick

    -> System Set Scroll X to lerp(scrollx, Character.X, dt*8)

    -> System Set Scroll Y to lerp(scrolly, Character.Y, dt*8)

  • Yes, it's possible, there are quite a few posts and tutorials, try googling.

    Here is one:

    https://www.scirra.com/tutorials/1283/c ... -textboxes

  • Great job with visual effects! Screen shaking, camera movements, shadows, particles, explosions - all these make the game look awesome! Would love to see the final product.

    Try Bullet behavior with gravity and "bounce off solids" instead of physics.

    On collision, decrease bullet speed. After a couple of collisions, disable collisions for the particle sprite.

    Make very simple (3-4 points) collision polygons for particle sprites. Also, maybe only enable collisions for big particles?

  • What I'm saying is it's better to have English letters as a second frame, not as a separate sprite with 0 opacity.

    When you've put a few letters on the board (on Sprite133) and then press Hint, currently your English letters still appear on the bottom of the screen.

    Also during 5 seconds while English letters are displayed, if you try to drag one the letters, it looks terrrible.

    With the second frame you will not have these issues.

    To show hints and English letters in turns, create a variable HintType=1 (global or instance).

    On Tap gesture on LetterHint
       HintType equals 1 -> Set HintType=2
                         -> (show Hint sprite)
    
       Else           -> Set HintType=1
                      -> (show English letters)
    [/code:1b067xyh]
  • Try this:

    Sprite set animation frame to round((Gamepad.Axis(0,1)+100)/13.333)

    Axis(0,1) means gamepad #0, axis #1

    You might need to change 1 to some other number.

    Also make sure that animation speed on the sprite is set to 0.

  • Add boolean instance variable "reversedControls" to the character.

    You can use Timer behavior to set this variable to true.

    Then do this:

    Keyboard key W is down
        Player is boolean reversedControls set -> Player simulate control Down
        Else                                  -> Player simulate control Up
    [/code:1fk1a953]
  • What if you hit it 3rd time, 4th time?

    I suggest that instead of a separate romanize1 sprite you move English letters to the Letters1 sprite.

    Put them into each animation as a second frame.

    So for example "se" animation will have Japanese character in frame #0 and English letters "se" in frame #1. Also set animation speed to 0.

    When showing hint, change Letters1 animation frame to 1, wait 5 seconds, set to 0 again.

  • Looks cool!

    So how many tilemaps are there?

  • Is your glow effect a sprite?

    Add Glow and Enemy to the same container. (not family!)

    You will not need to create or destroy Glow - this will be done automatically when Enemy is created or destroyed. And Glow will be logically linked to Enemy.

    https://www.scirra.com/manual/150/containers

  • If you need to wait between repeats in a loop, use "Wait loopindex". For example:

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Something like this:

    recipe="dagger#wood:2,coal:2,iron:1"
    item=""
    ingredientsList=""
    ingredient=""
    quantity=0
    s=""
    
    Set item to tokenat(recipe, 0, "#")              // dagger
    Set ingredientsList to tokenat(recipe, 1, "#")   // wood:2,coal:2,iron:1
    
    for x=0 to tokencount(ingredientsList, ",")-1
       set s=tokenat(ingredientsList, loopindex, ",")   // wood:2
       set ingredient=tokenat(s, 0, ":")                // wood
       set quantity=int(tokenat(s, 1, ":"))             // 2
    [/code:t3hsihh1]
  • LaDestitute

    In a year time when you look at a recipe "365790" you'll have no idea what it means. So I would recommend having recipes as text keys, not numbers. Say "wood,coal,iron", or with quantities: "wood:2,coal:2,iron:1", or with the final product name: "dagger#wood:2,coal:2,iron:1"

    Create a couple of functions that construct and parse these recipes using tokenat, tokencount expressions.

    You can sort the ingredient names in ascending order to make parsing easier.

    Another good option - create a table of all recipes in Excel, export it to a CSV file, use CSV plugin to search for recipes and ingredients.

            coal  wood  iron  bronze  wool
    dagger, 2,    2,    1,    0,      0
    sword,  2,    3,    1,    1,      0
    armor,  0,    0,    1,    0,      2
    [/code:3djyyg95]
  • If you use C2 Save/Load feature, then yes, dictionary will be saved too.

    Or you can convert it to JSON and save to local storage.

    If you don't save it, then the contents of the dictionary will be lost when you close the browser.

  • Yes, if you want to display either a text or sprites and not repeating, this could be complicated.

    Here is again the easy way - make several instances of a sprite with hints, keep them off-screen. Display one, then destroy it (with Fade behavior).

    https://www.dropbox.com/s/85ns0e0ntz8sm ... .capx?dl=0

  • Easy way - use choose("abc", "def", "ghi","jkl",....) to randomly select one of text messages.

    You can add a text object HintText, and do something like this:

    HintText set text to choose("abc", "def", "ghi","jkl")

    Wait 5 seconds

    HintText set text to ""

    If you want your hint messages to not repeat or if you want to highlight letters on your board or something like that - this will require more work.