DiegoM's Forum Posts

  • At the end of your event sheet keep track of the last mouse X position in a variable. At the beginning of the event sheet, compare that value with the current X position of the mouse.

    If the current position is greater than the last position you saved, then you are moving to the right, if the last position is greater than the current one, then you are moving to the left. If there is no change, the mouse is not moving.

  • hcatarrunas

    Scoremonger

    The idea behind not highlighting is that in the case the replica is using it's own value, then nothing unusual is happening, it's just the normal behaviour.

    The UI aspect is not set in stone though, it's not like we spent a lot of time deciding how to show it :P It's mainly like that because timeline editing already is handled in a similar way. In fact, you might want to check out how it looks when you are animating a replica instance in a timeline.

    birdboy

    I have been concerned about colour blind users, and noticed that the light colours we are using for highlighting in here and in timeline editing, are probably not very useful in that regard.

    Using an icon on top of the colour change would be quite good to solve that problem.

  • brushfe

    As of the latest beta, r286, there is a new option you can use in the configuration file. Adding the "use-raw-folder-names" property with a value of true will make the importer use the folder names as they appear in the imported files.

  • Introduction

    This new feature comes in to address a few rather old issues with Construct, which are the following:

    1. Updating several instances of the same object type with different initialization properties could prove to be time consuming and prone to error. Specially in large layouts or across multiple layouts.
    2. No way to define pre-sets when creating an instance at runtime using the Create Object action. Up until now you had to create the instance and then set it's properties in the event sheet.
    3. No way to choose a specific hierarchy to create at runtime, if multiple were created in the editor using the same type of instance as the root. This forced you to use unique instances as roots in order to guarantee the hierarchy that would be created at runtime.

    Granted those three issues could be worked around, from now on you won't have too anymore.

    New terms

    There are two new terms that will be used in this guide.

    1. Template: an instance that has been set to be the source of property values for other instances to use. These include, common instance properties, plugin properties, instance variables, behaviour properties and effect parameters. A template can also be used to decide what values a new instance created at runtime should take when using the Create Object action. Modifying a template in the Layout view or through the Properties bar will immediately be reflected in all instances which are replicas of it.
    2. Replica: an instance that has been set to use an instance already defined as a template. A replica takes it's values from the source template unless they are explicitly modified, at which point the replica's own values are used.

    How does it work?

    The Properties bar now shows a few new properties when selecting an instance.

    Properties bar Property descriptions
    • Template mode: an instance can be turned into a template by selecting the "Template" value from the drop down menu. If there are any instances in the object type which have already been set to be a template, then the "Replica" value will also be available in the drop down menu.
    • Template name: the name to identify a template. This input is only active when Template mode equals to "Template".
    • Template source: the name of the template a replica is using. Only shows templates of the same object type as the replica. The drop down is only active when Template mode equals to "Replica".

    To start using this feature the first thing you will need to do is set an instance to be a template. To do that, follow these steps:

    1. Select the instance you want to be a template in the Layout view.
    2. Pick the "Template" option from the Template mode dropdown in the Properties bar.
    3. Give the template a name using the Template name text input.

    That's all you need to do to set an instance to be a template.

    Now let's see how to set other instances to use the template in the editor:

    1. Select the instance you want to be a replica of the template in the Layout View. The instance must be of the same object type as the template.
    2. Pick the "Replica" option from the Template mode dropdown.
    3. Select the template the replica instance should use from the Template source dropdown.

    After doing that you will notice that some of the properties in the Properties bar are highlighted, this indicates that the instance is taking that value from the source template.

    From now on, when the template is modified, all replicas using it, will reflect the changes. If a replica is modified individually, the affected property will stop taking the value from the template and instead will take the value from the replica itself. To indicate this, the property will no longer be highlighted.

    Miscellaneous options

    Layout view context menu options

    Template context menu Replica context menu
    • Template instance context menu options:
      • Apply template to all replicas: force all replicas using this template to use the values of the template.
      • Select all replicas in layout
      • Open all layouts with replicas: opens all layouts with replicas of the selected template.
    • Replica instance context menu options:
      • Use all values from template: forces the selected replica to use the values from the template.
      • Select all replicas in layout
      • Open template layout: open the layout containing the template the selected replica is using.

    Properties bar context menu options

    When a replica's property is modified and because of that it starts using it's own value, it is possible to individually set it back to use the template value by right clicking on the property name in the properties bar.

    Runtime actions

    The Create Object system action now has an additional Template parameter. When specified the new instance being created will be made to be a clone of the template instance, rather than an arbitrary one.

    Asides from using the properties of the template instance, the new instance will also pick up the hierarchy from the template, if one exists. This means that it is now possible to create different hierarchies in the editor that use the same type of instance as a root, while also being able to choose which one to create at runtime.

    Considerations

    This is the first version of this feature so there are still a few things to iron out. The following are a few things which are not immediately obvious.

    • By default, replicas do not use the position properties of the template. In most cases it is more useful for these two properties to remain individual for each replica.
    • The Spawn another object action of Sprite is not yet supported.
    • At runtime, replicas are no longer connected to their templates as they are in the editor. This means that changing a template at runtime, will not affect the replicas. This applies for properties and hierarchy changes.
    • In the editor, adding or removing children from a template will not be reflected on the replicas. This could be added in the future.

    Here is an example project that can be opened in r286, showing how the feature is used.

    dropbox.com/s/ewh9h1js5ocu46a/Templates%20Example.c3p

    This is it for now. This is the first version, so there is still work to be done.

  • What operating system are you using?

    Recently there was an issue in our tracker that sounds very similar to what you are describing, it was only affecting OSX.

    You can see the report here

    If you are using OSX, you can try what is mentioned in the issue to see if it works for you. Unfortunately if that is the case, there isn't much we can do as it would be an OS level problem affecting C3.

  • Try reporting the issue to Last Pass and see what they tell you.

    We don't work around problems caused by extensions because there are potentially thousands out there causing issues and it would be unrealistic for C3 to handle all possible problems.

  • Are you using any browser extensions?

    If so, try disabling them one by one and see if that makes any difference.

    Have you tried other browsers other than Chrome?

  • Farsight

    That is not possible at the moment.

  • The problem is that this kind of settings would pile up and the inevitable conclusion would be a massive dialog with loads of unrelated checkboxes for which you need a manual for.

    Going a little bit further, you could find you want some sort of method to save the custom configuration, because you know that a few months down the line you might open C3 in another computer and of course you forgot about all the customization you did a few months ago.

    In my case I have come across this problem when using text editors, I use Sublime Text when working on C3. It does have a ton of options for customization and initially it seems so cool, but for practical purposes you only want to change a handful of things, namely the color scheme.

    After years of working with it, I find the rest of the options superfluous. The best settings are the default, purely because they are the default. If they weren't the best, they wouldn't be the default.

    To sum it up, I think it's better to work towards reaching default settings which work well for the greatest amount of people.

  • A few things to wrap this up and get something useful out of it.

    Removing the closing buttons of tabs is not going to happen. This is just too of a widely accepted UI convention. On the same note, adding a special and obscure setting that will only ever be used by a handful of people is not going to happen, it's just not good design.

    Adding an option to remove a UI element is basically admitting that it doesn't work, in this case though, it does work and you absolutely need a button to close a tab.

    Having said that I take two things out of this thread:

    1) Adding a little bit of a buffer distance so the close button is not right next to the tab name sounds like a reasonable improvement feature.

    2) Sorting tabs in multiple rows needs some work.

    If you think any of those things will improve C3, you can file a couple of issues in our bug tracker and they will be looked at.

  • Has this been happening for a long time? During development I did notice that sometimes the information in the test account I use would occasionally take a couple of days to update, but I never payed too much attention to it.

    Anyway, I will take a look at it more closely.

    You could try adding that snippet about delaying app measurement initialization and see if it makes any difference. You would need to make an export for an Android Studio project, edit the manifest file and then make a build from Android Studio.

    That is what I will try doing, but you don't need to wait for me, if you have Android Studio you can try it out yourself.

    The documentation you linked talks about user consent, so maybe if no consent is given, measurement never starts? I am just guessing, will need to try it out to see for sure.

  • sizcoz

    How can you tell the metrics are not working? Is it just by looking at the dashboard in your Admob account? To be honest this is not something that I paid attention when doing the transition to the new SDK, so it is possible it stopped working.

  • There is a context menu with the option to close a tab already. Maybe you missed it? Just try right clicking on a tab and it should appear.

  • Try Construct 3

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

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

    I really can't argue against your idea as it sounds quite useful.

    To think I actually thought this feature was going to be a quick one :P

  • dazedangels

    I see what the problem is now. What is happening is that as a tab is dragged, it switches place with the one located where the pointer is at.

    This works properly if there is a single row, because you can only move left or right, but I can see why it would produce unexpected results when moving up and down.