Ashley's Forum Posts

  • The 'on sound ended' trigger is simply not supported on some platforms, because they do not provide the features necessary to know when to trigger it. You have to work around it I'm afraid. One of the many problems of HTML5 audio.

  • You definitely can use this expression in 'compare two values'. What error did you get?

    AngleAt takes a single number parameter which is the index of the touch to get. Touch.AngleAt(0) returns the angle in degrees of the first touch, Touch.AngleAt(1) returns the angle of the second touch, etc.

    The description for the 'speed' parameter says the units is in "absolute pixels per second". It appears at the top of the dialog when you select the parameter. This means pixels per second on the canvas, which basically is saying it doesn't change depending on if you scale the game really large or small.

  • I have tested the .capx on two systems, neither using stretched desktops. One machine had the glitch, and the other machine displayed it correctly.

    That means it's a graphics driver bug. Even if your drivers are absolutely latest and up to date (as they were on my two machines), they can still be buggy! Graphics drivers are terrible and a huge let down on the technology as a whole. We've blogged about this a lot, for example here. Let your graphics card maker know they're doing a poor job. Unfortunately there's very little we can do to fix it - if we change how games are rendered, we risk breaking it for machines which do display properly.

    The machine showing the glitch had an Intel HD graphics 3000 chip. Maybe this is an issue with Intel chips only?

  • You can also load Array and Dictionary object data from JSON.

  • Your link about VRAM is very old (2010) and is pretty much out of date actually. Almost all desktop computers support non-power-of-two textures now so the limitations don't apply, at least in Construct 2's renderer. Even mobile devices support non-power-of-two textures except for tiled images, and in future they will support it for tiled textures too, making the "power of two" thing completely and thing of the past.

    Music is streamed so should occupy very little RAM. Sound effect files generally sit in memory so will use as much RAM as their filesize. Generally audio is not a concern since images usually take up far more memory.

  • The CocoonJS Launcher app was just updated yesterday - might be worth another shot if you had problems, since I think it fixes a number of bugs.

  • WebGL uses GLGL ES (for mobile) instead of desktop GLSL. Most snippets of GLSL you find on the web are probably desktop GLSL. GLSL ES is actually a slightly different language with different features and functions available. You can't expect everything that works in desktop GLSL to work in GLSL ES.

    The biggest change is in GLSL ES every single float requires a precision specifier: lowp, mediump or highp. For example, "mediump float x" instead of just "float x". In GLSL ES not providing a precision is an error, which is what you were seeing.

    You can also put a precision statement at the top which sets the default precision for everything, as R0J0hound said, and that should set the precision for all variables beneath it (so you still need to specify precision for variables above it). That should fix the error, but it's bad practice: mobile devices are slowed down by using unnecessarily high precision. The effect template from the SDK has comments guiding the use of precision, roughly along the lines of:

    lowp - for samplers, color and opacity values, which are expected to be in the range 0-1

    mediump - for texture co-ordinates and where lowp is insufficient precision

    highp - not usually necessary (and not actually always supported), but may be necessary when very high accuracy is required for some reason in an effect.

    Never use "precision highp float", this is almost always wrong. Even "precision mediump float" will needlessly cause slowdown by making samplers and colors use higher precision than necessary.

    Hope that helps you understand!

  • It's even linked to on the Start Page in Construct 2!

  • You're right, there appears to be a problem with triggers in subevents. In your example you can code like Door 0 and Door 1 to work around the problem, but Door 2 and Door 3 show the bug and I'll try to fix it in C2 soon. However it does change a fairly important aspect of how triggers work. We've got a stable build coming up so I think it would be risky to change the code before that is released, so I'll wait until the next beta release and try to fix it for that.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It appears to be working correctly. 0 degrees is the same direction as 360 degrees, Construct 2 just wraps values above 360 back to 0 degrees.

  • Construct 2 should be setting the volume property read by CocoonJS. Can you share a .capx that tests this?

  • It's always helpful to share a .capx to show what you mean.

  • It's easy to test: just store something in WebStorage, clear your cache, and see if WebStorage is still saved. Different browsers might treat it differently though.

    Even if it gets cleared, I wouldn't worry about it: 99% of ordinary users probably never touch their cache.

  • OK, I guess it was the issue with spawning objects in loops... I'm still not sure though, but as long as you switch to the new way of doing it you should be fine.

  • You do not have permission to view this post