Hopscript: Hopscotch Text Language (Concept)

Yeah, I just made a new project just to test that because it was working just close enough to correctly to make me think I was just crazy, but it’s definitely broken:

It doesn’t even work when they are in the exact same place

Luckily this is the perfect reason to test out the debugger, so it’s actually good that I have some reason to use it without having to make some huge project quite yet

2 Likes

Woah, I specified the starting postion of both objects as starting in the same place and it works correcttly now.

It even correctly identifies no overlap.

So I wonder if the problem comes from non-integer starting positions, and the ios app doing something different around the first frrame fixes that

1 Like

Is Polar Bear by Petrichor working or is it not loading for you too?

If it does load, does the background turn blue when the squares overlap? If it doesn’t then my thing works correctly, it’s just correctly bugged

1 Like

In JS, numbers go up to 17 digits of precision, and then it starts bugging out. So maybe it has to do with that?

Hmm, I tried opening it in my browser, and it doesn’t want to play at all. Interestingly, it throws a console error because there’s no variable named main:

// Uncaught ReferenceError: main is not defined

function playHandler(event) {
  if (event) {
    event.stopPropagation();
    event.preventDefault();
  }
  if (!project_screenshot || !main) return false; // <---- error here
  project_screenshot.remove();
  // ...

Not really sure what that means, but judging by the variable names in the loop, I guess it has to do with the project thumbnail?

To me it was not loading the player because of missing cors headers lol

main is the instance of HSMain that plays the project

Hm, yeah, in both browsers, it initially fails to load because of CORS…

image

1 Like

I figured it out, i had misread the minified code for activating conditional rules. Instead of

if (rule.conditionIsTrue(ruleGroup)) {
            if (!rule.hasBlocksToExecute())
                rule.isActive = false
			rule.activate()
		}

I had

if (rule.conditionIsTrue(ruleGroup) && !rule.hasBlocksToExecute()) {
        rule.isActive = false
		rule.activate()
	}
1 Like