grossd's Recent Forum Activity

  • Hi,

    I have been agonizing some time already that C2 isn't supporting "precompiled" C2 Layout/Event components and modularity -- what i believe to be a prerequisite to developing clean, reusable and scalable source code.

    But, I believe that I found a way to achieve it using adaptations of currently existing plugins. I would like to find someone with plugin development experience with whom I could jointly develop this to be shared in the C2 community.

    Here is the overall approach that seems to work:

    1. C2 would could be complied and then embedded in a C2 Project layout using Pode iFrames.

    2. Communication between the C2 project and project included in the IFrame would occur using HTML5 messaging such as implemented in the Pode's PostMessage plugin, which can send and receive message in event sheets using iFrame IDs.

    The C2Embedding plugin would offer additional features:

    1. the C2 project that embeds another project would provide the project a unique ID, which is then used in subsequent messaging to direct messages to the correct embedded iFrame C2 project . This could be provided as a parameter in the URL that links to the IFrame of the embedded C2 project would.

    2. a Dictionary could be used to specify the data interface between the main project and the embedded project. The Variable Dictionary would include "global" variable names in the embedded project that could be set or changed, which would then be reflected in the embedded C2 project.

    3. An Event trigger Dictionary could be used to indicate the events triggerable in the embedded C2 project -- or, in case of a lighter approach: an event with tag could be used to trigger events within the C2 project.

    4. the embedded C2 project could trigger events in the main project. A tags could indicate the event kind triggered.

    this is it, in essence.

    Having such a capability, would allow compiling C2 projects into "components" and have those components embedded and integrted in other C2 projects.

    i feel this could be very useful in better managing projects.

    Dan

    p.s. more thinking needs to be done to support special platforms such as node web-kit, how these access, load and run pre-compiled components in iframes.

  • Hi Pode,

    Is there a way to send a message to the C2 app that contains the iFrames (the main app in your case), rather than only between peer iframe apps?

    What i'd like to achieve is the ability to continuously exchange messages between an app in a frame and the main app, from setup and initialization messages to messages in response to external and internal events.

    thanks,

    Dan

  • Hi,

    Currently, web-nodekit only supports downloading text files. To save a canvas snap shot I added a bit of javacript inject code. You can download it here: http://wiki.goalorientedsolutions.com/d ... pshot_file

    Please be aware that due to some current discrepancies between web-nodekit in the preview and when exported, the save feature only works projects exported to web-nodekit.

    Dan

    p.s. thanks to emoaeden for encouraging me to package this in a capx.

  • Hi,

    I just noticed that there exist a discrepancy between launching node-webkit in preview and when exported.

    In preview the following reference when injected as via the browser, throws a reference error, whereas when exporting it does not:

    var fs = require('fs');

    It would be great if both the preview and the export would equally load whatever library is needed to resolve the reference (node.js? perhaps).

    thank you,

    Dan

  • Hi Ashley,

    OK, so I solved it with some Javascript injected with the browser, and a tailored javascript call as follows:

    (Its pretty basic. It's too bad that its not supported "natively" in C2 in the node-webkit plugin, but since I am new to javascript, it took me a bit to stich together, and I feel my solution is rather brittle).

    In C2:

    set varCanvas = right(CanvasSnapshot,len(CanvasSnapshot)-23)

    Execute JavaScript varScript & "; me( 'c:\\results\\file99.jpg', '" & varCanvas & "');"

    and javascript I've loaded in the varScript variable:

    function me(name, canvas) {

    var fs = require('fs');

    var img = new Buffer(canvas, encoding='base64');

    fs.writeFile(name, img, function(err) {

    // if(err) {

    // document.write("<p>");

    // document.write(err);

    // document.write("</p>");

    // } else {

    // document.write("<p> The file was saved!</p>");

    // }

    //

    }

    );

    };

  • Ashley, any chance that node-webkit could support saving a canvas snapshot as an jpg or png -- or is this a limitation imposed by node-webkit itself.

  • I noticed that node-webkit save, saves a base64 string -- so I guess I would need to translate this back into a jpg image, somehow, from the outside.

  • I see. Thanks.

    I noticed that nodekit supports file save. Can it save CanvasSnapshot (non text files)?

  • Hi,

    I am trying to download a screenshot of the canvas. On the preview it works well, but when exported to nodekit I have problems.

    If i minify, instead of a download popup, I get a new "modal" window opened with the contents i want to download. The pop-up window doens't allow doing anything like ctrl-s for save or right mouse click for save as.

    If i don't minify, i get a pop-up window for a split of a second, that then disappears, removing the "goto" shows the captured image in the window "ontop" of the original window (i can see buttons the original window includes).

    all in all, its weird behavior,

    any suggestions would be much appreciated,

    Dan

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hi,

    While I am at it here another feature that would be very useful to support reuse with included event sheet.

    It would be great to have a reference object type that can point to object types. This would be like family, but instead would support referring to at most one element. A system action should allow setting the object type.

    For example, suppose I have included a Reference "plugin".

    In a main sheet one could then set: ReferenceCanvas = Canvas1

    In the included event sheet I could then use this in conditions and actions.

    Touch isTouching ReferenceCanvas ReferenceCanvas draw circle

    In another main sheet I could set ReferenceCanvas=Canvas2, and the include event sheet would also work with Canvas two.

    hope I explained that clearly.

    Dan

  • Hi,

    I am using the include event sheet quite a bit to reuse events across layouts. However, often the event sheet refers to Layout elements that should appear across layouts also. It would be great if there would also be an include layout option, which is, for example, included in one or more layers.

    And, perhaps a more "futuristic" feature:

    It would be great if an include sheet could support "Aspectual" weaving of elements. For example. In each event sheet where I include the "erase" even sheet, I need to add a "draw mode" condition to two already existing events. Best if within the include sheet I could specify, something like this: In Event-Sheet X, in Event #1, Even#2, add Condition "varDrawMode=1". The system would "weave" this addition into the main event-sheet.

    EDIT: in fact, there would like be three event sheets in action. 1) the main sheet, 2) a reusable event sheet and 3) a weaving event sheet. The weaving sheet would include the main sheet and the reusable sheet and add weaving instructions. The pattern is much like MVC (Model, View, Controller design pattern)-- making the main and reusable sheet oblivious of the reuse that is happening, and putting all reusable information into the weaving sheet (the weaving sheet acting like a controller as it were).

    This would make the code much more modular.

    Dan

  • Hi,

    I am using advanced text boxes to enter name and date information.

    I noticed that I can tab between the text boxes but, the behavior is slightly varied. On all but one text box tab immediate takes me to the next text box. On one I need to do tab twice to go to the next one.

    I wonder why that might be?

    thanks,

    Dan

grossd's avatar

grossd

Member since 4 Feb, 2014

Twitter
grossd has 1 followers

Trophy Case

  • 10-Year Club
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

15/44
How to earn trophies