dop2000's Forum Posts

  • He's setting Y coordinate to random(170-387). The correct expression is random(170,387) - there should be a comma between two parameters.

  • You can "erase" a circle using a mask sprite with a blend mode. See the official "Blend Modes" example in Construct.

    It may be difficult though to organize objects on layers properly.

  • If you added an "original" somewhere, and decided to add it to a family at a later stage. Then which one becomes the original one for the settings for the things added to the family. Monkey wrench I tell ya.

    Yeah.. And when you add a new object to the family, it inherits the properties from one of the instances of one of the existing members, but you can never guess which one. It's a mess.

  • I simplified things in my explanation. The sprite was actually a family of about 50 sprites. And there were many hundreds of instances of them on layouts, all manually placed in the editor and configured. The game was "find an object and solve puzzles" type, so everything was heavily scripted. Objects behaved differently based on the values in their instance variables.

  • Actually, this is a mistake made by the author of the game template. You need to use Set Line to replace(Line,...) in the second and all consecutive actions:

  • lennaert My question was how to find such instance in a large existing project, which may not have a dedicated layout for storing default instances. And even it does, not all objects may be there. And even if they are, the default instance may change suddenly if you change the order of layouts.

    I was working on a big game last year and there was a very important sprite with lots of instance variables and behaviors, which was used on many layouts.

    I intentionally put the first instance of it on a separate layout and filled in all the default properties. For example, I put these default values: variable isActivated=0, MoveTo Speed=500

    That was working for a while but then broke. Some other instance of this sprite became the default one. So when this sprite was added in layout editor it was created with these values: variable isActivated=1, MoveTo Speed=200 I had to manually edit them and about a dozen other parameters, which was super annoying. And I couldn't find the instance which had become the default one..

  • You need to watch/read some beginner tutorials, it's clear that you don't quite understand how events work in Construct.

    There is a function called FormatDialogue in your project. It prepares a line of dialogue before it's displayed by replacing some tags in the text. You can use this function to replace the tags you added. Just add another action to it (before "Set Return Value")

    For example:

    Set Line to replace(ReplaceString,"INTERACTNAME", interactNameVariable)

  • If you have many maps like that, you can probably create a system which will paste the map sprite on a canvas, read canvas pixels to detect transparent areas and build a tilemap automatically. But this will be a difficult task.

    For one map I would just create a tilemap by hand.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Isnt that what the new template function is for ?

    It is, but this feature is more like a workaround than a solution. It's not feasible to set up templates for all objects in the project and it may still be necessary to find the default object instance.

    Besides, templates are only for runtime. The default instance is used as a reference when you create an instance both in runtime and in the editor.

  • Each layout will have its own instance with IID 0, and it won't necessarily be the default one. I'm talking about locating it in the project.

  • Did you see the project I posted here? You can use the typewriter there, just do all the "replace" actions first.

  • You mean Java Archive JAR? It's a binary format, how are you planning to prepare it?

    You can easily save text data - just use "NWJS Write text to file" action.

  • Thanks, R0J0hound! I'll use your advice:

    So it seems a good solution would be to create a layout, put one instance of every object, and move that layout to the top of the layout list.

    It still ***** that there's no easy way to find the current default instance. In a big project I often waste a lot of time looking for it.

    Another similar problem is finding the layout where a global layer is defined. Why do I have to open every single layout and check if the layer is overridden there or not?

  • I've been using Construct for many years, but still don't know the answer to this seemingly simple question - if I have lots of instances of the same object on many layouts, how do I find which instance is the default? I mean the instance which is used as a reference when a new instance is created.

    Tagged: