cesisco's Recent Forum Activity

  • Have you tried this:

    Set Text

    "[outline=#000000][lineThickness=0.5]" & "Hello World" & "[/lineThickness][/outline]"

    Edit: You have to enable BBCode

  • I prefer to install C3 as an app instead of choosing a version from the C3 releases page. The problem is that when I install it as an app, it automatically updates to the latest stable version, regardless of the version I install. I need to stick with version 388.2. Does anyone know the solution for this? Thanks.

  • You're absolutely right! It can be frustrating to encounter such an undocumented change, especially if it breaks existing code. Here's a breakdown of the JSON data type issue for sprite frame data in Construct 3.

    In Construct 3 versions before r376, JSON.Get would implicitly convert string values like "1" to integers when used to set sprite animations.

    After r376, this implicit conversion no longer happens. The data type mismatch can lead to errors if your code relies on the old behavior in NYStateofHealth.

    Using the same JSON data, JSON.Get(".frame") would now return the string "1".

    If your code expects an integer and tries to use "1" directly, it might cause errors.

    I‘m still on r388.2, but it looks like it was “fixed” in r390.

    Release notes:

    “Sprite: for backwards compatibility, 'Set animation frame' now treats numerical strings like "2" as indices instead of tags”

  • The deeper I look the more it looks like removing anti-aliasing will never become a standard thing. Which makes sense since anti-aliased and clear type text is better looking in most cases. Most fonts don’t look good aliased.

    Crisp aliased text is niche feature of low res pixel games. The easiest solution is basically using the alpha clamp effect on the text for a general case. But a spritefont will likely look better, but we probably need better tools to generate them from fonts.

    cesisco

    That’s what I tried too. But it’s only a Mac/iOS thing. It doesn’t work for other platforms. Our only solution is a spritefont or maybe use the alpha clamp effect on the text.

    I don’t know if you realized that I was applying that CSS to the “ "Text Input object" to fake it as Text, and that works on Chrome😉. But that would be a nasty workaround to deal with🤮

  • The only trick I can think of would be to fake the Text input object as text, but I don’t know how it would affect performance, layer management, etc. Probably this is stupid. 🤔

    Edit: And probably other drawbacks that I’m not aware of, off the top of my head.

    	#your-textinput-object {
     background: transparent;
     border: none;
     outline: none;
     color: white;
     -webkit-font-smoothing: none;
     -moz-osx-font-smoothing: grayscale;
     font-smooth: never;
    }
    

    It's not hypothetical. Disasters have happened, are happening, and will continue to get worse.

    I understand that, it's a valid concern, but it would be easier for you and your conscience to just have a big disclaimer:

    "We do not endorse third-party plugins. Use them at your own risk."

    And then tell the customers to ask the add-on developer for support, as you usually do with Chrome and Apple issues.

    Folks, please remember the goal here is to stop a regular occurence of customer projects being ruined by permanently broken and unmaintained addons.

    Why wait for a hypothetical disaster later when we can enjoy a catastrophe right now

  • sanjibnanda You can check my add-ons to see if it's worth it for you ;)

    construct.net/en/game-assets/addons/openai-plugin-suite-3317

  • It looks there's a change on the last beta for this issue:

    Sprite: for backwards compatibility, 'Set animation frame' now treats numerical strings like "2" as indices instead of tags

  • If I correctly understood, something like this will do the job.

  • Since r376 you can set animation frames by tag too, it is done by checking the type (set frame by number if number, set by tag if string). So this is intentional I think, but yea I have also seen a lot of people on the Construct Discord getting tripped up by this..

    That makes sense. I appreciate the feedback.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I don’t know if this is a bug or an undocumented change.

    Before r376, if we have a JSON like this:

    	{
    	"animals":[
    	{"animal":"dog", "frame": "1"}
    ]	
    }
    
    

    And then, if we get that value from “frame” with JSON.Get(".frame"), let’s say to set a sprite frame animation, it will treat the “1” as an integer and will set the sprite animation to frame 1, doing a Implicit type conversion.

    But after r376, it only works if we have the “frame” value as an actual integer:

    	{
    	"animals":[
    	{"animal":"dog", "frame": 1}
    ]	
    }
    
    

    This can cause a few bugs if a developer, for some reason started doing as the first example.

    Tagged:

cesisco's avatar

cesisco

Member since 2 Feb, 2010

None one is following cesisco yet!

Connect with cesisco

Trophy Case

  • 14-Year Club
  • Entrepreneur Sold something in the asset store
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

21/44
How to earn trophies