Ashley's Forum Posts

  • I thought the render scale did already take in to account the layout scale? I'm still not sure what you're doing that requires the render scale and layout scale to be handled separately.

    If you really do need both modes though, I'd just say switch to DOM mode and add a CSS variable from JavaScript.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I've added an extra parameter for the next release to "Pick Nth child" so you can choose whether the index is relative to all children (as it works now), or filtered to only the chosen object type (so it works like you want it to here). But I'd note this filtered mode actually works inconsistently to the other existing features - for example the 'Compare child count' condition and 'ChildCount' expression work with the list of all children. There is still no way to compare the child count of just one type of child, nor does there seem to be any good way to design an expression that returns the child count of just one given object type, as the current design of Construct does not allow an object type to be passed to an expression. So while the next beta allows you can pick from a filtered list of children of a given object type, there is no way to identify how many children there are of that type, nor is there any obvious way to design such a feature at the moment. I suppose if you have a fixed hierarchy setup, such as every hierarchy has both two arms and two legs, then picking Nth child with filter may be good enough, but usually I'm pretty reluctant to introduce feature inconsistencies like this - eventually someone else turns up and says "this mode is inconsistent/incomplete, it shouldn't be designed like that..." and we have a similar discussion like this again.

  • Ugh, another dependency nightmare. Most platforms actually have backwards compatibility that lasts for more than a couple of years - Google Play's aggressive deprecation of old SDKs is a real maintenance headache. If they supported things for longer then things like this would happen far less.

    The situation is Construct's mobile ad plugin relies on admob-plus-cordova. The latest stable version is v1.28.0 which uses com.google.android.gms:play-services-ads@20.6.0, the version Google Play now says has been sunset. We've been keeping an eye on updates to admob-plus-cordova for some time now, but the latest version is 2.0.0-alpha.18. The term "alpha" usually means "for early testing only and not ready for production use yet", so we've been waiting for a stable release before updating Construct. But Google Play have aggressively retired the old library version before this happened.

    I'm aware of community-admob-plus, but long experience has shown that switching between different libraries with different maintainers can cause its own headaches with compatibility, maintenance, etc. So in my view the ideal situation is a stable update of admob-plus-cordova to be released. However we are out of time really so we may have to make a pragmatic decision. I will investigate our options and hopefully have something lined up for the next beta release (usually released on a Tuesday, so July 23rd). Apologies for the inconvenience and hopefully with a little patience we'll have this sorted soon.

    • Post link icon

    Closing as duplicate of this thread.

  • It's not leg number 6, it's the child at index 6, which is of the leg object type.

    If that counted as leg 1, and there was also an arm 1, then the array of child instances would have two different instances at the same index, which doesn't make sense. Hierarchies have a single array of all children for each parent, not a separate array of children per child object type.

  • I'm not sure what you're trying to achieve - in CSS you can use --construct-scale, and in JavaScript it seems you can use the ILayer property renderScale, which works in both DOM and Worker mode. Doesn't that cover all cases?

  • That's because you're calling getAt() on the object type, not the instance. I'd suggest re-reading part 11 of the tutorial series - it covers all this.

  • If you intend to refer to a Construct object, you need to use runtime.objects.ObjectName. This is covered in part 11 of the 'Learn JavaScript in Construct' tutorial series.

  • Where is there a variable that declares ARRAY_TotalDLs?

    There doesn't seem to be one. That's why it's not working.

  • It's not yet supported in the Addon SDK v2 - it's on the list to get implemented soon though. I think this is also a good case to redesign the API so you don't have to write so much code to make a looping condition.

  • It's not possible to tell without seeing all your code. It means that variable is undefined though. You need to declare variables before using them - Construct does not declare anything for you (other than occasionally passing 'runtime' and 'localVars'). If you are getting stuck on things like variable declarations I would recommend going through the tutorial course Learn JavaScript in Construct which covers that.

  • Does the ILayer renderScale property do what you need?

  • Please refer to the Forum & Community guidelines. We don't have forum signatures. Everything posted should be at least vaguely connected to game development. I suppose you could post a thread like "what coffee best helps you to do game development", but that would likely involve mentioning brands or otherwise promoting commercial entities which may be construed as spam, and that type of thread tends to be a spam magnet as well as all the bots pile in to post their own links, so I don't think that would be appropriate to discuss on our site. Anything else actually meaningfully related to game development is OK though.

  • A fundamental limitation of the web platform is web workers can't access the DOM directly. In worker mode Construct runs in a web worker and so there is no direct access to the DOM - internally it works around that with lots of message passing.

    If you write JavaScript code in a project, worker mode "auto" defaults to DOM mode to avoid this problem. If you have set worker mode to "yes" to force running in a worker, but you need to access the DOM, set it back to "auto" or "no".

  • It's up to the receiving app what it does with the shared data. A quick test showed a text-only share worked with WhatsApp and email for me, but not with Twitter. If a particular receiving app doesn't do anything with the share, then it's that app that needs updating - the browser is using the standard system share feature.