sagispin's Forum Posts

  • +1 vote

    this is much needed, spriter has many asrtistic limitaisons

    (no animation inside animation comon...)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • [suggestion]

    in my game

    i have 17 scon files - 7.8MB

    picture folder (With tiny png compression) - 6.80MB

    audio - 7.88MB

    i dont see any reason spriter logic needs to take that much space

    the problam is that the scon files are in json format, and there are many duplicate strings like:

    "abs_x","abs_y","name"....

    this is a ton of work, because the plugin code need a complete rewrite

    but maybe... if it not too late for C3

  • Reuben thanks for sharing!

  • rexrainbow

    im waiting for C3 to become more stable, and have more plugins.

    but untill then i will use the nickname behavior, i can enforce a nickname behav string to be the object name and avoid bugs, by running an exe that checks the xml files of the project.

  • i think i found my answer:

    "This isn't supported because as part of minifying and obfuscating your project on export, object names are removed to make it even more difficult to reverse engineer a project.

    Allowing creating objects by a variable would then force C2 to include the original names of all objects, possibly making it easier to reverse engineer the project. TBH I think the best solution is a series of subevents like you've shown."

  • is there a way to create object by name withought the nickname behavior?

    foreach (var typeName in runtime.types)

    if(typeName == requestedType)

    create instance (runtime.types[typeName])

    this results an error for some reason

  • i really want to use a certain font but it is misisng some letters i need.

    im using this font a lot so i thought about edting the font file (.tff), but i couldnt figure it out.

    currently, i end up edting the exported json and png file, but i would love to have some sort of feature to help me with this

  • i love using rex z-order plugin:

    http://c2rexplugins.weebly.com/rex_zsorter.html

  • this is just my way of overcoming this potensial bug:

    https://ibb.co/j0jmVv

  • sagispin

    "Condition: For each key" of behavior JSON won't pick instance (sprite), therefore Each "Expression: Sprite.JSON.CurValue" will point to first sprite. You could print expression: Sprite.UID to see the picked instance of expression.

    Add "system.forEach(obj)" is solution indeed.

    i manged to fix it - my style -> editing the add on:

        Cnds.prototype.ForEachItem = function (key) {
            // === NEW ===
            var sol = this.type.objtype.getCurrentSol();
            sol.select_all = false;
            cr.clearArray(sol.instances);
            sol.instances[0] = this.inst;
            // ===========
    
            var entry = this.getEntry(key);
            var current_frame = this.runtime.getCurrentEventStack();
            var current_event = current_frame.current_event;
            var solModifierAfterCnds = current_frame.isModifierAfterCnds();
    
            var key, value;
            this.exp_Loopindex = -1;
            for (key in entry) {
                if (solModifierAfterCnds)
                    this.runtime.pushCopySol(current_event.solModifiers);
    
                this.exp_CurKey = key;
                this.exp_CurValue = entry[key];
                this.exp_Loopindex++;
                current_event.retrigger();
    
                if (solModifierAfterCnds)
                    this.runtime.popSol(current_event.solModifiers);
    
            }
            this.exp_CurKey = "";
            this.exp_CurValue = 0;
            
            // === NEW ===
            sol.select_all = false;
            cr.clearArray(sol.instances);
            // ===========
    
            return false;
        };
    [/code:3n27vui3]
    
    took my around 2 hours
  • im trying to change this part of the code, to make it go for each instance

    any ideas?

     Cnds.prototype.ForEachItem = function (key) {
            var entry = this.getEntry(key);
    
            var current_frame = this.runtime.getCurrentEventStack();
            var current_event = current_frame.current_event;
            var solModifierAfterCnds = current_frame.isModifierAfterCnds();
    
            var key, value;
            this.exp_Loopindex = -1;
            for (key in entry) {
                if (solModifierAfterCnds)
                    this.runtime.pushCopySol(current_event.solModifiers);
    
                this.exp_CurKey = key;
                this.exp_CurValue = entry[key];
                this.exp_Loopindex++;
                current_event.retrigger();
    
                if (solModifierAfterCnds)
                    this.runtime.popSol(current_event.solModifiers);
            }
    
            this.exp_CurKey = "";
            this.exp_CurValue = 0;
            return false;
        };
    [/code:1q7zkkqn]
  • hello rex,

    in the behavior verson of the add on.

    if you have multiple instances of an object, the "for each" condition does not iterate over them correctly.

    it can be fixed by writing "system.forEach(obj)"

    here is a simple example:

    https://ibb.co/j0jmVv

    Visual Familiy

    family that may contain - sprie, sprite font, particles, scml or any visual plugin

    i have the issue where i have to create multiple familys that look the same for each plugin.

    like a family that has the pin behaviors - to controll all the pinned object in my game - currently i got to have spritePinFam, spriteFontPinFam etc...

    i written more here

    but nobody commented *sad face*

  • i want log the name of a beavior

    "sine" "sine2" within the sdk

    is there an expression to do so?

  • can we all agree that 'active on start' default value should be NO?