dop2000's Forum Posts

  • You can use replace expression multiple times, either nested or as separate actions.

  • Yeah, unfortunately effect parameters are only available through scripting.

    Here is what I have in one of the projects:

    var i = runtime.getInstanceByUid(localVars.textUID);
    i.effects.forEach(function (e) {
    
    if (e.name=="Outline") {
     localVars.val = e.getParameter(localVars.parameterIndex);
    }
    });
    
  • There was an old C2 commercial plugin which allowed communication with Arduino via USB, but I don't think there is one for C3.

    If you can run a web-server on Arduino, you should be able to send http requests to it.

  • Next try you should try to make an effort and post your code (even if it's not working) before asking for help. See this post:

    construct.net/en/forum/construct-3/how-do-i-8/best-help-tips-forum-139528

  • I am sure of this:

    dropbox.com/s/8oegppjba2mhjgd/OrbitClamped.c3p

    If it doesn't work in your project, you can do what I suggested in your other thread - make the object with Orbit behavior invisible. And set position of another visible sprite to it.

  • Actually, it's super easy to do with Orbit behavior, all you need is one event.

    On every tick : Sprite set Y to min(Self.Y, Ground.BBoxTop-Self.Height/2)

  • This may be considered a bug, you can try reporting it.

  • Is there a way to tell it not to override this layer on certain layouts?

    No there isn't. You can just use a different global layer.

    Does that mean I need to be making every layout with the same number of layers, even if I don't need them on every layout?

    This is not a good idea. If you want the global object to appear on a specific layer, the easiest solution is to create an event which will move it to that layer on start of any layout.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • lionz That's what I suggested in their first post. OP apparently didn't like my answers.

  • If you decide to do this with a timer, you will need to stop it when the key is released early. If you don't stop the timer, the animation will still change after 2 seconds, even thought the key is no longer being held.

  • I have given you two solutions. You can try either of them. The "code" is the same as events. For example, "On A Key pressed" is an event of the Keyboard object.

    I also suggest you study a couple of tutorials for beginners.

  • There are several ways you can do it.

    You can use Timer behavior. On key pressed - start a timer for 2 seconds. On key released - stop this timer. On timer event - play animation2.

    Another option is with a variable.

    On key A pressed : Set variable Charge to 0
    
    Is key A down : Add dt to Charge
    ... Compare variable Charge>=2 : Player play animation2
    
  • I believe when you switch layouts, global objects are transferred to a layer with the same layer number, not with the same name.

    I think in your case it may be better to make the layer "UI" global. And disable global attribute for UI objects.

  • You can disable "Default controls" checkbox in the behavior properties. And control the sprites with events. There are lots of examples in the official templates, for example:

    editor.construct.net

  • As I understand, Wolf sprite in the prototype project has the same instance variables and behaviors as the Enemies family in the main project? In this case you can create a new blank project, copy Wolf sprite to that project, remove all variables and behaviors from Wolf sprite, and then copy it to your main project. Add it to the Enemies family, and then you will be able to copy over all events from the prototype project.

    Also, check out this tutorial from Ashley:

    construct.net/en/tutorials/upgrade-object-family-319