faulknermano's Recent Forum Activity

  • I've got bitten by a behaviour related to Global Layers and Global Objects and I wanted to open a discussion about understanding how these two work, especially in conjunction with each other.

    My case is about making a GUI. In its simplest form, the GUI has a 'frame' and has 'buttons'. The 'buttons' are Pinned to the 'frame' and the 'frame' animates up and down; the 'buttons' being pinned, follow the 'frame'.

    As recommended by the manual for GUIs, I make my GUI layer Global, and set things like Parallax, Transparency, etc, so that the layer settings carry itself to other layouts. The problem that arose, however, was that Objects inside the Layer were getting destroyed, and then recreated again. And that's a problem because all the Pinning setup I did at the start of the layout is broken because the Pinned UIDs all changed.

    Then I tried making the Objects Global, too. But that wasn't correct either, because the objects started doubling up. The Global Layer kept on creating its objects, assuming that the objects that was on that layer was going to be destroyed, but they weren't, because they were Global.

    So I switched off Global Layers altogether and manage everything as Global Objects.

    However, this behaviour is a bit counter-intuitive for one reason. If Global Layers were going to recreate the Objects on the new layout, why destroy them in the first place?

    (A.) I think it would have been better to separate the 2 features of propagating layer settings separate vs 'propagating' objects through layouts. In this way it is apparent to the user what is being 'persisted' in a Global Layer.

    (B.) Like I said above, if Global Layers were intended to retain Objects then it is expected that those actual objects are considered global, in the same sense that Global Objects are global; they are not destroyed, and whatever parametric options attached to them are unchanged.

    I could have lived without (B), but because of (A) Global Layers have suddenly become unworkable; I can't even use them for unifying Layer settings because the Global Layer wants to keep on recreating its objects. I can't turn off that behaviour.

    However, if I'm missing something here, I'd appreciate any thoughts.

    Thanks.

  • Set the Layout Size (Project Properties) as the same as your Window Size (or vice-versa, whichever is applicable).

  • Well, as a follow-up -- for the sake of historical records, I guess -- the Auto-save/Auto-backup seemed to have a helped for the past days since turning off Auto-save. At least it was saving quite quickly. Unfortunately, it has done it again. And, like before, it stops on 'Saving project settings...'. The progress bar is up, but shows no activity.

    As a last-ditch effort, I will downgrade to r250 which is the build I was on before upgrading recently.

  • In the same Condition in which you pick ansBox, you can put another Condition which selects the 'trueFalse' Text instance. Put something like:

    Pick trueFalse instance loopindex("i")[/code:mebxa4zi]
    
    That's assuming that `loopindex("i")` corresponds with the 'trueFalse' Text instance number.
  • I think you need to pick a 'trueFalse' Text instance also. I think that's why everything is set to True.

  • Stab in the dark: the things I think of when something is not showing up when it seems like it should:

    • Layer is invisible or opacity=0
    • Object is out of screen
    • Object size has been reduced to a very small dimension
    • Object is behind another element (ie hidden)
    • Object blending modes
    • Object animation is not in expected frame
  • SOL mean Selected Object List, which is the list of picked instances. So it's not really related, but only the question if certain entities are really being evaluated based. Because it is an OR statement, like the thread I mentioned, I wondered if either the Touch or Keyboard was not being 'selected for evaluation' because it is one or the other.

    I don't know. The documentation refers to triggers as an example; it's almost as if it only applies to triggers, although it doesn't say it explicitly.

    Ashley, I was wondering if you (or anyone for that matter) could spare a brief moment to enlighten us poor souls why the OP's scenario doesn't work, and why my post (#2) behaves the way it does (i.e. it seems like when two plugins -- Keyboard and Touch -- are tested as True in an OR statement, only one of the plugins 'make it through' the sub-event in order to be evaluated). Would be much appreciated.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Yeah, that's weird. There are several forum threads like thisand this, but it doesn't seem to cover the behaviour of global plugins. I'm just speculating, but I wonder if the plugins have a 'priority' for checking a certain type.

    For example if we replace Keyboard | Space is down with Touch | Is touching Sprite:

    .. Then hold down the mouse button, go over the Sprite, it will be destroyed.

    However, Keyboard | Z is down doesn't work any more, but Touch | Is in touch works fine. It's almost like the plugin itself was 'picked' (like a SOL), but not really.

    As a workaround, you can separate the conditions.

    Of course, you could write it another way:

  • Yes, you can turn off the backups.

    Go to Preferences > Backup > untick Auto-backup.

    You may want to also deactivate Autosave. Go to Preferences > Autosave > untick Enable autosave

    For some reason I'm having issues with saving, too, and it started just happening recently. There's a old thread about this, which I recently posted because I had problems, too.

    I don't know if my project would have saved after a certain number of hours because I wasn't willing to wait that long.

    In the thread I linked above, I first deactivated Auto-backup. But it wasn't enough because Autosave tried doing a back-up based on the frequency I had set it on. When Autosave kicked in, C2 was stuck again. Now I've taken off Autosave entirely and I've been working for about 2+ hours now we no issue so far. Hopefully it stays the same.

    There's a possibility it could be related to the newest build, but who knows?

  • Well, it turns out that no, disabling auto-backup did not actually remove the issue. I will now disable Auto-save and see if that helps. (I'm still suspecting the 'Auto' features. I have Auto-save set to 'Hourly', and I have just come back a little after an hour to save my project. The Auto-save will kick in if there's activity in C2, and it so happens that my first command was to save the project.)

    Ashley, I know that this is a highly irregular bug and it might be something to do with the file system (I've had my own code demons dealing with stuff like this). But in the hopes of finding a workaround to make the save function work reliably I took a screencap of the latest 'hang':

    On the status bar it stops at Saving project settings. I noticed that the uistate.xml was successful in saving the latest, but unfortunately, the .caproj did not save.

    Perhaps there is a workaround to bypass certain procedures and simply get on with saving the 'essential' stuff, like the events? It's just that I'm sometimes losing a lot of progress and it's quite unnerving to know that my previous successful save might be my last. FWIW, I'm using a local drive; I run as Administrator in my machine. Again, I am looking at disabling Auto-save, and hopefully that works. Thanks for reading.

    SecondDimension, now that you mention it, it does seem that it started happening when I upgraded from r250 to r256 recently. Of course, this has been happening before, but I concede that when it did happen I was also using cloud storage (both Dropbox and OneDrive in separate instances). And I don't recall this happening since I started this project last year, and I've been on r250 for a long time before upgrading. I don't mind downgrading, though I'll be darned if that's the reason.

    But like I said, I'll switch off Auto-save, and see what happens.

  • Not sure, but try enclosing parenthenses/brackets around

    personaje.tipoPersonaje & "coge"[/code:r0xphdy9]
    
    Ie:
    
    [code:r0xphdy9](personaje.AnimationName <> (personaje.tipoPersonaje & "coge") ) & (getbit(personaje.flagsRecibidas,5) =1 ) = 1[/code:r0xphdy9]
  • Old thread, I know, but just wanted to chime in and say that it had been happening to me recently (it had happened sometimes before, but not so often.) Unlike most of those that reported the problem, I have been using a local drive.

    The best solution that seems to be working for me right now is to simply turn off Auto-backup. If this is the culprit, wouldn't it be ironic that it would be the one causing me to lose a lot of work?

    I'll be writing my own service that backups the caproj, so I think that won't interrupt whatever C2 is doing.

faulknermano's avatar

faulknermano

Member since 26 Jul, 2014

Twitter
faulknermano has 1 followers

Trophy Case

  • 10-Year Club
  • Email Verified

Progress

11/44
How to earn trophies