엠버 구성 요소 (나는 이것에 대한 https://github.com/Ferdev/ember-cli-pixijs 사용)에 Pixi.js에서 이벤트를 보내기 http://ipotaje.es/en/complete-html5-concentration-game-made-with-pixi-js-3/내가 예를 들어 픽시 게임은 엠버 응용 프로그램 내에서 실행하는 캔버스를
보시다시피 Pixi 구성 요소에는 게임 논리가 아닌 그림/렌더링 논리 만 포함되어 있습니다. 그것은 외부 클래스에 저장되어 있으며, log
액션을 호출하고 싶습니다. ,
import PIXI from 'pixi';
var PairsGame = function() {};
PairsGame.prototype.init = function (renderer)
{
this.renderer = renderer;
// create an empty container
this.gameContainer = new PIXI.Container();
const graphics = new PIXI.Graphics();
this.gameContainer.addChild(graphics);
// allow chain calling
return this;
};
PairsGame.prototype.preload = function()
{ // importing a texture atlas created with texturepacker
var tileAtlas = ["assets/images/images.json"];
// create a new loader
PIXI.loader.add(tileAtlas)
// use callback
.once('complete', this.onLoaded.bind(this))
//begin load
.load();
//allow chain calling
return this;
};
PairsGame.prototype.animate = function()
{
this.renderer.render(this.gameContainer);
requestAnimationFrame(this.animate.bind(this));
//allow chain calling
return this;
};
...
ET CETERA
I WOULD LIKE TO CALL THE log ACTION FROM THESE METHODS
...
지금 나는 어떤 조치를 취할 수 있도록 내 엠버 구성 요소에 각각의 차례에 '성공'또는 '실패'메시지를 보낼 싶습니다 (예 : 게임의 파일은 다음과 같이 보입니다 단순히 '성공'/ '실패'를 콘솔에 기록하십시오). 그것을 성취하는 방법은 무엇입니까?
나는 해결책 here보고 시도하고 픽시 코드Ember.Instrumentation.instrument("pixi.gameEvent", 'success');
을 추가하는 듯했으나 가입자는 아무 것도받지 않을 것으로 보인다.
아, 물론이 작동합니다. 나는 여전히 액션 이름을'sendAction'과 함께 보내는 명령에 매핑해야했습니다 (http://coryforsyth.com/2014/09/24/communicating-with-ember-js-components-using-sendaction/) , 그러나 이것은 바른 길에 나를 붙 잡았다. –
그래도 작동하려면 구성 요소에서 경로로 'log' 액션을 이동해야했습니다. 그 이유는 확실하지 않고, 그 행동이 구성 요소에 더 적합하다고 생각하기 때문에 저를 귀찮게합니다. –
이것은 현상인데, sendAction은 구성 요소 들간의 통신에 사용되고, send는 컨트롤러간에 통신을하기 위해 사용됩니다. – kumkanillam