shalmu's Forum Posts

  • No, I can't there is a list of games that I have to load in my wrapper and they can not be altered only because of this thing I do. Alright, I'll have to put some div on top of the iFrame with game, this will definitely work. Thank u for help!

  • I tried "window.cr_setSuspended(true)" function, but it blocks the view only - all clicks go through.

    What is "Page is visible", how do I call it?

  • Given that I don't do it from the C2 - it all must be done by the wrapper.

  • I have a game with many elements. I want to allow people to pay for some features. My game runs in an iFrame on a page and sometimes I want to show the "deposit money" pop up on top of the iframe. However there is a problem: when the pop up is on - all mouse signals go through, because "Mouse" subscribes "mousedown" on a document level, so even if I put the overlay div with higher z-index than c2canvas inside the iframe - it won't block mouse events.

    The question is: is it possible to block mouse events without adding the blocker div outside of iframe?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I have a lot of sprites, generated by "SCML animation" plugin.

    When it was imported and extensively used in even tsheet, all of the sudden I realized it must have different name. And all the sprites it uses must also have different names.

    But now that everything is in C2 project and used in event sheets, I cannot just delete them all and import new, renamed animation, because all its usage will be broken in event sheets and I'll have to add all events to the sheet...

    Is it possible to rename many objects at once, is there a command for that?

  • I am working on my plugin and I'd like to trigger condition. I did everything as it was described and as I saw in examples, however it won't trigger my condition.

    I decided to dig a bit deeper and to put a couple of console.logs into "preview.js -> Runtime.prototype.trigger" and discovered something: the "trigger" stops on

    if (!this.running_layout)[/code:107rxjrk]
    When my condition is triggered - this.running_layout equals to null! 
    
    OK, I trigger my trigger a second later. Now this.running_layout is not empty, but my trigger wasn't called anyway...
    
    Here is the condition for edit:
    [code:107rxjrk]AddStringParam('Lazy section', 'The section you want to spot');
    AddCondition(7, cf_trigger, 'Is lazy section loaded', 'HUD', 'Is lazy section <b>"{0}"</b> loaded', 'Check if this lazy section is loaded', 'IsLazySectionLoaded');[/code:107rxjrk]
    Then in Conditions I have this:
    [code:107rxjrk]Cnds.prototype.IsLazySectionLoaded = function(t){
      console.log('IsLazySectionLoaded('+t+')');
      return true;
    };[/code:107rxjrk]
    [ul]
    	[li]it never gets to this console.log. (notice that I have other conditions, regular, not triggering, and they all work)[/li]
    [/ul]Finally I do this somewhere:
    [code:107rxjrk]console.log('  => about to trigger...' );
    var done = runtime.trigger(cr.plugins_.genericHUD.prototype.cnds.IsLazySectionLoaded, instance, sectionName);
    console.log('triggering result: '+done);[/code:107rxjrk]
    Needless to say that runtime.trigger returns false...
    
    What am I doing wrong? I also see no error messages, everything is resolved correctly, function "cr.plugins_.genericHUD.prototype.cnds.IsLazySectionLoaded" exists...
  • Where is the stress?

    Is it "cOnstruct" or "constrUct"?

    I mean is it a noun or verb?

  • I am working on a plugin, which needs more than its own texture, it also needs to have an access to another Sprite's texture pixels.

    I created an action:

    AddObjectParam("Map", 'A map should be white with black regions');
    AddAction(19, af_none, "Set map", "Map properties", "Set map to {0}", "Set the map.", "SetTheMap");
    [/code:3ky5p7bz]
    Then I added a function to actions:
    [code:3ky5p7bz]Acts.prototype.SetTheMap = function(map){
       /// here I need to access the map's pixels.
    }[/code:3ky5p7bz]
    How do I access map's bitmap's pixels? Is it possible?
  • Turns out it was a VirtualBox problem. After all my plugin updates I installed it directly and no boxes are shown.

  • I am upgrading from 216 to 225.

    I open a game, created in 216 and see boxes instead of characters in all texts, if their size is bigger than 26.

    Nonetheless when I compile and run - all texts appear perfectly fine in browser.

    upd------

    On the other hand perhaps it's some kind of video glitch in a VirtualBox that I use - I was afraid installing a fresh version on my workstation and played it safe...

    ---

    forgot to mention that I've got this strange message:

  • [quote:kpibzfmx]Javascript engines like V8 optimise the event engine

    Right, it means that Event Engine is compiled to machine code. But what about the event sheet? Does Event Engine interprets the event sheet?

    I mean, even early JS engines were written in very fast C++, but what they did (the interpretation of javascript) was very slow.

    The same thing here: Event Engine is very fast, but what it does (the interpretation of event sheet) is at the speed of "interpretation".

    For example, if I have a loop in event sheet and I use a global variable "foo" of type "number" there, will this variable infer type, like Javascript does or it will stay "dynamic any type var"?

  • I took a look at the compiled exported game to see what event sheet is turned to. I expected it to create a javascript code out of it, but it seems like it creates some kind of a data list of instructions instead, which will be, probably, executed on some kind of ConstructVM. In this case none of the optimizations that V8 or SpiderMonkey can offer are applied, i.e. event sheets run on an ancient JS interpreter speed, or even slower.

    Is it true? Please tell me I am wrong...

    If no, what is the actual process?

  • Is is possible instead of putting all my behaviour's sources to C2 installation folder, to keep it to myself, in my own directory, so that I could just specify its path? Because currently I am developing a behaviour and I have to keep it in Git too. I may also have several versions of this behaviour.

    Now I have to copy it to my git repository from C2 installatino folder every time I make changes. And I have no possibility to have different versions of a plugin for different projects.

    Or maybe I am missing something and it is really possible? Tell me how.

  • I am developing a new behaviour and I would like to know its name, because one Sprite has several behaviours of this kind and I give them different names.

    I'm trying to access it inside "behinstProto.tick" but "this.name" returns "undefined"...

  • Thanks, this is exactly what I need! Now I know it resides not i "Blend mode", but in "Effects" and I can see many other complex blend modes there!