nadako / Ash-Haxe

Port of Ash entity framework to Haxe
Other
131 stars 37 forks source link

When using Ash-HaXe with NME, neko target crashes with run-time error. HTML5 target succeeds occasionally. #2

Closed brodavi closed 11 years ago

brodavi commented 11 years ago

Targeting Neko, every project using Ash-HaXe fails at start-up with:

Called from app/Main.hx line 107 Called from ash/core/Engine.hx line 66 Called from ash/signals/SignalBase.hx line 59 Uncaught exception - Invalid field access : _id_

I have had some success targeting HTML5, but not 100%. It compiles, but at run-time there is usually a blank stage. I am not proficient enough in HTML5 development to figure out what is happening, but the cpu usage is heavy and I can't seem to pause javascript execution.

I have no idea if these two issues are related, but I have a feeling they are.

brodavi commented 11 years ago

the last string on the stacktrace above should be [underscore][underscore]id[underscore][underscore] ... I guess surrounding a string with two underscores in github markdown makes it bold.

nadako commented 11 years ago

Yeah, the problem with neko is that functions (listeners) can't be stored in object hash as keys, I'll look into it, gotta think out an efficient way to map listeners to nodes on neko then.

I don't think that the second issue relates to the first somehow, but it's more interesting, because HTML5 seems more important than neko to me. Could you provide an example which reproduces behaviour you're getting?

brodavi commented 11 years ago

Okay, I did some more testing. Keep in mind I am running a 5-year old netbook under ubuntu. Haxe-Ash Asteroids demo just shows a blank screen. HaxeDungeons shows the hero sprite, but nothing else. Both of these act the same under Chrome and Firefox.

There is a Haxe-Ash experiment I cobbled together that runs pretty well in Firefox, but has 'ghosting' issues in Chrome, where a bitmap is sort of just left hanging somewhere on the Canvas. If you think it would help, I can create a github repository and put it up.

brodavi commented 11 years ago

oops

nadako commented 11 years ago

Okay it looks like in HTML5 build of Asteroids background is not black anymore for some reason, so the game draws white on white, hence the "blank screen". It works actually :) I will look into it. Looks like it was changed in some new version of NME.

I didnt do any testing of HaxeDungeons on HTML5, so it doesn't work for real, maybe I'll check it out, but I'm not working on HaxeDungeons at all currently (busy with RL).

The bug with ghosting and stuff doesn't really seem to be related to Ash, more like to NME itself (I bet you're using it as well), because Ash doesn't have any code working with display or NME at all.

nadako commented 11 years ago

The problem with HTML5 background was fixed in NME git https://github.com/haxenme/NME/commit/555d6fad5e243150dafcac9ac1f80083e648cc30

If you don't mind, I'll close this issue.