shinkan's Forum Posts

  • Nice and simple. Thank you!

  • That's great!

    Sorry my internet went offline for some reason and could not respond earlier :/

    One thing

    +Dictionary: For each key

    ++Dictionary: Is not empty

    +++BTLevelSelect: LayoutName = Dictionary.CurrentKey

    this do not need to be a sub-events

    You can make only one event with this 3 conditions - works the same but takes 2 events less

  • This makes it even simpler.

    Instead of this Dictionary: Add key "[episode] & "level" & [level]" with value [score]

    use Dictionary: Add key "Layoutname" with value [score]

  • >

    > Hope I make any sens, it's almost 4 AM over here ^^

    >

    >

    Same here... Wesolych Swiat shinkan

    Thanks!...

    Haha, nice! Wesolych to You too

  • Try

    +BerryBush = Frame 0

    +Trigger once -> Wait 5 seconds, Set berry to true.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • If you need multiple characters to be customized then instead of global variables (which you probably need a lot) use Array or Dictionary object.

  • let's make it simpler. Imagine you have 3 variables:

    1. Number variable [episode] = 1 - this will keep track of current episode you are playing

    2. Number variable [level] = 1 - this will keep track of current level you are playing

    3. Number variable [score] = 0 - to keep track of current player score

    When player finish any level you make an event:

    Dictionary: Add key "[episode] & "level" & [level]" with value [score]

    So when player finish level 2 of the episode 1 and his score is 1234 it will add a key [ "1level2": 1234 ]

    when he finish level 5 of episode 3 with score 5432 it will add a key [ "3level5": 5432 ]

    so key name is made of a combination of: variable [episode] a string "level" and a variable [level] - which gives for example "3level1". And value of that key will be a variable [score].

    korbaach

    if you know how many levels and episodes you have you can make a simple loops

    For example there is 5 episodes with 4 levels each and you already have finished all 4 levels of episode 1 and 2 levels of episode 2. Each level have it's own score.

    "1level1": 1234,

    "1level2": 567,

    "1level3": 432,

    "1level4": 674,

    "2level1": 33,

    "2level2": 8,

    Now on start of the layout you want to create and set text to score for each level:

    +On start of layout

    ++For "ep" from 0 to 5

    ++For "lvl" from 0 to 4

    ++ Dictionary: Has key [ loopindex("ep") & "level" & loopindex("lvl") -> Create Text on layer "zzz" at (X,Y) - > Set text to Dictionary.Get(loopindex("ep") & "level" & loopindex("lvl")) Hope I make any sens, it's almost 4 AM over here ^^ EDIT: and yes you only need Webstorage if you are actually want to save/load current game state. With Dictionary it's super easy. You only need one event Webstorage: Set local key "key name" to Dictionary.AsJSON. This will save entire dictionary object as a one webstorage key.

  • nope

    Dictionary: Has key "Episode" & counter -> do your events.

    And if you run it through a loop you will only have one event to rule them all

  • Object is berry bush

    Berry bush has a boolean called "Berry" set to false.

    False = Frame 0

    True = Frame 1

    You need a Trigger event for "Wait" to work properly.

    and one more tip for you.

    Berry boolean can be only either 0 or 1. And if your BerryBush have only 2 animation frames that represent Berry boolean state you can do something like that.

    On something: BerryBush: Set animation frame to self.Berry

    this will always set your animation to Berry boolean state.

  • And how will I create more than one Episode key without overwrite it

    You probably always start on episode one. So you can make a counter to keep count of episodes (1,2,3,4...) - this can be a dictionary key as well.

    Then on start of each new episode you can add a new key: Add key "Episode" & counter - in this case value of the key is not important, You only need a key to exist.

    and then if you finish last level of current episode simply add 1 to counter.

    This will make a new key every time you start new episode automatically - "Episode1" key, "Episode2" key etc.

    If you want later to check if current episode was started/finished or whatever you can simply use

    Dictionary: Has key "Episode1" -> do your events.

  • No, and thats the beauty of Dictionary object. You can simply do:

    Dictionary: Add key "your_key_name" with value "your_key_value"

    any time you want. If key with that name do not exist, new key will be created. If key with that name already exist value will be overwritten.

    So you can do stuff like this:

    On left mouse click -> Dictionary: Add key "click count" with value Dictionary.Get("click count")+1

    On first click it will create a new key "click count" with value 1

    on second click it will set key "click count" to 2

    on third "click count" will set it to 3 etc.

    Think of it as a global variables that can be added/set/removed on runtime any time you want

    Oh and key values can be anything. Integers (1, 2, 34, 56..), floats (1.2, 44.34, 4.666...) or strings ("aaa", "bb bb"...)

    EDIT: But if you want you can make a text file with all your keys and values already typed in and then use AJAX to load that file into a Dictionary object. This way you starts your game will all necessary data you need for your game!

  • Instead of Webstorage use Dictionary for example and then use Webstorage only for saving loading the game.

    I'll make my example on dictionary object.

    Make a Dictionary key for episodes and one for levels.

    Something like:

    "Episodes" : 1

    "Levels": 1

    and for each new episode/level simply add a new key. For example if you start level 2 of episode 1 - add a key "1Level2" with a value = to score.

    then you could do something like that

    on start of layout

    Is animation "Level" & Dictionary.Get("Levels") -> Set score to Dictionary.Get(Dictionary.Get("Episodes") & "Level" & Dictionary.Get("Levels"))

    If your current episode is 4 and level is 3 then the last one will set score to key named "4Level3" - which holds a value of your score.

  • No big updates. Personally I think since 200 is a regular update. The team should roll out some last features in January/Febuary. Hire some one to maintain C2, and then start working on C3. The last big bottle necks for C2 to be fully robust is the core 3rd party IDE that C2 uses. The IDE lacks the ability for some major features

    dynamic plugin loading

    Developer IDE tools

    Modularity

    IDE access Scirra store

    anyways that's my opinion.

    and I will give you big +1 for this.

    also I would loved to see "components" in layout editor. You could set multiple objects size, position etc, pin them together and all sort of stuff. So in event you simply say "move component to x=100" and everything in that component will behave respectively - without a need for making few dozens of events just to place, compare, test and pin objects together - this is not fun at all

  • I'm not interested in any of platform games and don't remember when last time I used official sine behavior. Besides that all of my projects and projects I've been working on works quite fine on crosswalk.

  • Using anything but CocconJS makes HTML5 worse than Flash.

    How much did they paid you to wrote that kind of things?