fisholith's Forum Posts

  • Thanks for the reply, I just noticed after posting that you can copy from a canvas object with the "Copy from sprite" action, but reading your response it sounds like you're saying you can get the color at an arbitrary point in the layout.

    For the project I'm working on, getting color data out of a canvas object might be all I need, but I'm still curious if it's possible to get the color at an arbitrary point in the layout, as it would grant me quite a bit more flexibility.

    You said you can use the canvas to "capture the point you're selecting". Does this mean there is a way to capture a point in the layout rather than merely pasting an object into the canvas? Or would you have to paste every object into the canvas and then get the resulting color at the desired point. If that's the case, I can see what you mean when you say it's slow. As it is, just moving an image from a canvas to the image manipulator seems to hit the CPU a bit hard.

  • Is there a way to get the RGB color value at a given point on the layout, or at a given point in a canvas.

    I'm interested in getting the RGB color clicked, in the standard eyedropper fashion.

    I know you can get this kind of information from the image manipulator, but I'm not sure if there is a way to get the layout or canvas graphical data into the image manipulator.

  • Hi Ashley, I did read the bug report procedure, I just wanted to be sure I had actually found a bug first before submitting something to the tracker. So I hope I didn't cause any problems. In any case, I just tried making a Source Forge account, and I have yet to receive the activation email. It has been about a half hour, so I think something went wrong. I have a screen capture of the registration page, so I know I typed the email address correctly, but there is still no email. I'll try contacting their tech support tomorrow.

    Thanks for the suggestion PixelRebirth, however I actually get the same results when using the "Append text" action. I also get the same results when concatenating a string that contains a new line. Pretty weird...

    In answer to your question David, I am currently running 0.99.62, which Construct seems to insist is up to date, but I see that there is indeed a 0.99.7 version listed on Source Forge. It says it has zero downloads though which is a bit odd. Is 0.99.7 stable?

    At any rate, thanks for the feedback everyone, I'll see about getting the Source Forge problem straitened out, and try posting the bug tomorrow.

  • It's possible that I'm doing something wrong here, but this looks like it might be a bug. I figured I'd ask first.

    ====== Symptoms:

    Example file:

    Given the following:

    Event: For "loop" from 1 to 10.

    Action: EditBox: Set text to: EditBox.Text + "x" + NewLine

    I get the following output, (though I have replaced the unidentified-character squares with sharp signs "#" so that they would be visible in this post).

    x########

    x#######

    x######

    x#####

    x####

    x###

    x##

    x#

    x

    x

    From the event and action, it seems that we should see exactly one new line after each "x". Obviously something else is happening.

    ====== Possible Cause:

    It looks like the NewLine expression inserts a new-line-generator-marker into a string of text, and then at the end of the event, all the existing markers are triggered once to generate a new line character at their respective current positions. This works fine for most situations, but when placed inside a loop, a new-line-generator marker can be placed into a string on the first loop step, and then triggered multiple times by all the remaining steps as each loop step reaches its end. This could explain why NewLine expressions evaluated in earlier loops seem to be transformed into more new lines than those in latter loops.

    ====== Possible Workaround:

    As a work around, I might be able to use a special character (or character sequence) in place of the NewLine expression when inside loops, and then convert the special character(s) to new lines afterwards.

    If anyone has any information pleas let me know.

    Thanks.

  • This file is an attachment for the following post:

  • Hi again everyone. A few months back I inquired about building an XML plugin. After a few recommendations TinyXML came up, and it looked like the ideal solution. Then summer ended and 11 weeks of academia consumed all my free time. I'm back now, and I was wondering if anyone else has looked into building an XML plugin in the interim. I'm still interested in working on it, but I have no prior plugin building experience, save for the wiki-tutorial, and it is still possible that I won't have time to start it before the next wave of classes comes. If anyone has any recommendations or information regarding any other potential XML projects, please let me know. Thanks

  • (solved)

    Yeah, that was it. I had been looking in the wrong place. Thanks Lucid .

    I amended the first post to include the solution.

    === === ===

    Solution: (for VC2008 based on Lucid's suggestion)

    1: In the IDE, (VC2008 in my case) Check to see where the linker will put the completed files after a build, by choosing Project > Properties. Then expand Configuration Properties > Linker > General.

    2: In the "Template SDK Property Pages" window, find the "Output File" property, which will most likely be set to "..\..\IDE\Plugins\Runtime\Template.csx".

    3: You can change the "IDE" part of "..\..\IDE\Plugins\Runtime\Template.csx" to "Construct", so that after a build, the plugin files will automatically be placed in construct for you. (e.g. "..\..\Construct\Plugins\Runtime\Template.csx")

    4: At the top left of the "Template SDK Property Pages" window, you should see a "Configuration" dropbox. Here you can select and view each of the 5 configurations, "active(Runtime)", "Debug", "Debug Runtime", "Release", and "Runtime". Each of these has it's own "Output File" field, which can be changed in the manner described in step 3.

    Done

    === === ===

    Thanks again.

  • I began working through the "How To: Create a plugin" tutorial on the Construct Wiki, and I have encountered a problem. When I choose Build > Batch Build from the menu bar, and click the "Build" or "Rebuild" button on the Batch Build window, everything appears to work just fine. I get no errors or warnings. Yet, on the next step of the tutorial, you are supposed to be able to open Construct to view the "Template" object you just made. When I open Construct, the "Template" object is nowhere to be found in the insert object browser, nor can I find any matching plugin files in the "Plugins" or "Plugins\Runtime" folders.

    It's as if everything is building correctly, and simply being put in the wrong place. The tutorial doesn't make any mention of moving files after building, and I can't find any .csx in the folder hierarchy of the project either. I do see the files "Template.csx.embed.manifest" and "Template.csx.intermediate.manifest", but I don't know if they are meaningful under the circumstances.

    I'm using MS VC 2008 Professional Edition, and upon opening the .sln file I'm prompted to "convert" the project to a 2008 compatible version, which I do, (as I apparently have to, to open it in VC 2008). Construct is installed to "C:\Program Files\Scirra\Construct", which I believe is the default path.

    Does anyone have an idea as to what might be going wrong here, or any advice?

    === Solution (edit)

    Solution: (for VC2008 based on Lucid's suggestion below)

    1: In the IDE, (VC2008 in my case) Check to see where the linker will put the completed files after a build, by choosing Project > Properties. Then expand Configuration Properties > Linker > General.

    2: In the "Template SDK Property Pages" window, find the "Output File" property, which will most likely be set to "..\..\IDE\Plugins\Runtime\Template.csx".

    3: You can change the "IDE" part of "..\..\IDE\Plugins\Runtime\Template.csx" to "Construct", so that after a build, the plugin files will automatically be placed in construct for you. (e.g. "..\..\Construct\Plugins\Runtime\Template.csx")

    4: At the top left of the "Template SDK Property Pages" window, you should see a "Configuration" dropbox. Here you can select and view each of the 5 configurations, "active(Runtime)", "Debug", "Debug Runtime", "Release", and "Runtime". Each of these has it's own "Output File" field, which can be changed in the manner described in step 3.

    Done

  • Thanks for the information. It looks like your method Linkman2004 is the best way to handle simple XML using events. With a little more code, it might even be able to handle more complicated XML, and so I may end up using a solution like that.

    That said, I'm curios as to whether I could use a third party python library for XML manipulation in Construct. I'm not overly familiar with the capabilities of Construct's python scripting system.

    As an alternative I'm still considering building an XML plugin, as it might be the easiest way to get standards compliant XML manipulation, and I would just like to start building plugins in general. My current thinking is that if there is an open source XML library that is suitably simple to work with, I might be able to drop that into a plugin, and then add some simple action/condition/expression code to make its features accessible from Construct.

    Granted, I've never built a plugin for Construct before, so if anyone has a recommendation for an XML library that might work, or an estimation as to how difficult the process of making it a plugin will be, I would appreciate the advice. Thanks again for the feedback.

  • Is there a way to write and read XML files from a Construct application, and if so, what is the best way to go about this?

    To my knowledge there is no XML plugin, but it seems like python script might provide a roundabout means of handling XML files.

    I'm also considering building an XML add-on, as I believe I have all the necessary tools, although I'm not sure as of yet how much work would be involved.

    Any advice is welcome.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Firstly, thanks Davioware and Newt, I appreciate the info and suggestions. I may end up using comments to store partial lines of code with shortcuts as per your suggestion Newt. That is, if that's what you meant by shortcuts. I think that would certainly help, though some of the modular projects I've built would still require considerable work to copy over.

    The reason I am interested in copying code blocks from various projects is because I would like to build and test several game engine components in their own project files, so that when I start building a game, I can incorporate only the components that I need. For example, if I have a level editor, a camera system, a path finding system, a function driven effects system, and a custom function driven particle system, all as separate projects, I may only need the particle system and the effects system for a breakout-style game.

    At present, I have built a level editor with which I can build levels at runtime, and write and read formatted level files. I also have a project that contains a camera system that has several tracking modes, and quite a bit of code to make complex camera behaviors easy to manage at runtime via the function object. It seems like there must be some way to copy such modules into a new game project, without having to rebuild all that code, and without alternatively having to build all the modules in one single bloated project file that precludes the saving of successive module versions as their own independent files.

    I may be wrong, but I thought at some point I had read something about reusable code in Construct that was similar to the mechanism that MMF uses to support reusable code. Wherein if you copy code from a source project to a target project, any object referenced in the code that is not found in the target project will appear as a "placeholder" object, until you right click on it and specify an object from the target project that is to take its place. Construct is a pretty amazing tool, so I figure, it either already has something like this, or that it is coming soon.

    In any case, I appreciate the feedback thus far, That said, if anyone has any ideas that would allow the modules to remain as separate files, that would be preferable. I'm looking into and experimenting with this as well, and so I'll post what I find out.

  • Is there any way to reuse code from multiple separate prior projects without recreating all that code from scratch for each new project?

  • I think I may be doing something wrong here, but sometimes when I copy events from one project into another, all the events and conditions are pasted, but all the actions are missing. As near as I can tell, this occurs even when both the source and target layouts contain matching objects. Is there a particular way I should set things up to get the actions to copy along with events?

  • I'm not sure if this is a bug, so I figured I would mention it here first. It seems that if I apply a family to any object in the layout editor, the event editor's object browser will permanently switch from displaying normal icons (32x32) to displaying small icons (16x16). Further more, it appears that opening any .cap file that makes use of families will also elicit this behavior. If multiple projects are open in Construct, the shrunken icons effect is isolated to only the projects in which families were used. Within an affected project, all layouts will exhibit the shrunken icons effect, even if only one layout includes a family assigned object. I don't know of an option to set the size of the icons in the event editor's object browser, so to my knowledge there is no way to get large icons back after using families. That said, I'm still relatively new to Construct, so I may just be overlooking something.

    At any rate, does anyone have any recommendations for how to get large icons and families to work together, and or what I should do with the above information, if anything?

  • I am considering building a level editor, and I was wondering if anyone has any suggestions as to what objects or methods might be worth looking into. To be a bit more precise, I am looking to build a level editor that has the following characteristics.

    1: Supposing that I built a game that included this hypothetical level editor, an end user should be able to build a level from within the game application, rather than Construct. (This may be obvious, but I just wanted to clarify what I meant by "Custom Level Editor".)

    2: From the game application, I would like to be able to save and load level files.

    3: A level file should be able to store object instance xyz positions, as well as private variable values.

    As far as I can tell, the main options I have for storing level data are the Text object, the Array object, the Hash Table object, the INI object, and possibly some strange usage of the save /load game actions. Of those, I'm leaning towards the Hash Table object at the moment, being that it's far faster to read from and write to than an INI, and will likely be significantly more flexible than an Array or the save/load actions, in terms of what I can store and how I can store it. Obviously there are drawbacks as well, and so before spending a lot of time on it, I figured I'd see if anyone has any advice or suggestions.