Chcę zaimplementować następujący kod w Dart:Odnosząc się do „tego” w Dart JS współdziałanie
var HelloWorldScene = cc.Scene.extend({
onEnter:function() {
this._super();
}
});
Moja implementacja Dart wygląda tak:
class HelloWorldScene {
HelloWorldScene() {
var sceneCollectionJS = new JsObject.jsify({ "onEnter": _onEnter});
context["HelloWorldScene"] = context["cc"]["Scene"].callMethod("extend", [sceneCollectionJS]);
}
void _onEnter() {
context["this"].callMethod("_super");
}
}
Niestety otrzymuję następujący błąd, gdy uruchomiony kod:
The null object does not have a method 'callMethod'
na następujący wiersz:
context["this"].callMethod("_super", []);
Kontekst ["ten"] wydaje się być pusty, więc moje pytanie brzmi: w jaki sposób mogę odnieść się do "tej" zmiennej z Dart?
UPDATE 1: Pełne przykład kodu można znaleźć na github: https://github.com/uldall/DartCocos2dTest
Zgaduję, że popełniono literówkę: 'context [this] .callMethod (" _ super ");' (bez cudzysłowów). – GuyT
Bez cytatów "this" odnosi się do instancji klasy HelloWorldScene Dart. Chcę wywołać funkcję _super() na zmiennej "this" znajdującej się w VM Javascript. – uldall
Czy możesz opublikować pełny przykład. Proszę? – Robert