Ashley's Forum Posts

  • From Bumpmapping:

    [quote:367j6rha]...normal maps cannot be rotated, since the 3D data is only valid for an angle of 0 degrees. If you want to apply bumpmapping to a rotating object, you can only use heightmapping.

    i.e. use a height map and the Heightmapping shader for rotating lighting.

  • The [Bot]s are just Google, Yahoo, MSN etc. crawling the web for their search indexes - they were there before as anonymous users, but phpbb3 recognises them now.

    I don't know how to rename each page to a .html - besides, doing that can trick google in to using more of your bandwidth than it ought to.

  • This reminds me of an undocumented feature in the Function object. The expression:

    Function.MyCustomFunction(2, 7, "Hello")

    will trigger On Function "MyCustomFunction" whenever it comes to be evaluated, with whichever parameters you passed. Does this do the trick?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • What, like the Audio Converter object?

    It lists PCM (WAV) and MPEG Layer 3 (MP3) in codecs for me so I guess it can convert between MP3 and WAV...

  • I don't think any physics engine has pixel perfect collision.

  • Why don't you use the Turret movement's rate of fire feature? Set the rate of fire in milliseconds in the properties, and use the 'On Shoot' trigger to fire a bullet. This keeps the reload time independently for each turret saving you Every conditions and problems like these.

  • BTW since it's been a request a few times, the next build has an updated Turret movement which can target objects with a nearest-always method (which means if something else comes closer, it'll target that instead) - so it will be able to be used for finding closest objects too.

  • If you want to do it by adjusting the position, you can use:

    + Always

    Set X to original x + cos(.Angle) * 'Recoil'

    Set Y to original y + sin(.Angle) * 'Recoil'

    Original x/y is the starting position of the object, eg. 320,240. 'Recoil' is a private variable which when 0 means it's at the original position, otherwise its the distance of the recoil. So if you change Recoil to 20 and gradually decrease it back to 0, it will jump 20 pixels and gradually move back to the original position.

    If it goes the wrong way, use .Angle + 180.

  • What do you mean? What is the original position and how do you want it to move there?

  • "You require to open this file" is actually a bug, it's meant to have a plugin name substituted in, ie. "You require Plugin.csx to open this file". The other one is just a stray caption... I try not to put in silly error messages deliberately since they serve a genuine purpose and could end up really confusing people, but I think somewhere, somehow, there's code that says something about wormholes if things go seriously wrong

  • I read deadeye's post as being a harmless joke, albeit poorly worded, because I can see how that can be interpreted as trivialising his point. Still, hopefully we're now clear there was no malicious intent.

  • OK, well I've changed the error message to:

    Your DirectX installation appears to be out of date.  Please install the latest version of DirectX by clicking 'OK' in order to run this application.  The required component, 'd3dx_30.dll', was not found.
    
    [OK] [Cancel][/code:80qmsyg9]
    
    We'll see how it works out.
  • LOL guys, I know it's a picture of a girl, on the internet of all places!

    I wouldn't normally go as far as photoshoots for a game I was making, I'm too lazy to do my own graphics, sound etc, so kudos for the effort

  • + Always

    Set X to .X + cos(.Angle) * 100 * TimeDelta

    Set Y to .Y + sin(.Angle) * 100 * TimeDelta

    '100' means it moves at 100 pixels per second. Replace it with a private variable and you can control the speed.

  • Worth mentioning the 'Distance' expression - you can get the real distance using:

    distance(Orange.X, Orange.Y, Purple.X, Purple.Y)

    and that's always a positive value as well. (It does the sqrt(dx^2+dy^2) formula behind the scenes)

    It's worth noting the spread value/fastloop pattern is redundant in Construct - always use a For Each instead. The Turret behavior can track objects in range, but if an object enters range it will track it until it leaves range (ignoring any objects which may move closer in that time) - perhaps a 'target closest' option would be handy for Turret...

    I think the difficulty with finding the closest object with multiple orange and purple boxes is you have to first identify the closest one, then pick it with a separate event. You'd also have to track the targetted object being destroyed, other objects coming closer, etc. etc. I'll give you the events if you want, but I'd recommend the Turret behavior for now.