레이어를 얻는 것은 정의되지 않았습니다
-
21-12-2019 - |
문제
메뉴 레이어를 만들려고하지만 크롬 콘솔 에서이 오류가 발생합니다.
MenuLayer is not defined
.
그러나 이것은 menulayer를 정의하는 Menu.js입니다.
var MenuLayer = cc.LayerColor.extend({
ctor : function(){
//1. call super class's ctor function
this._super();
cc.associateWithNative( this, cc.LayerColor );
},
onEnter:function () {
this._super();
//2. get the singleton director
var director = cc.Director.getInstance();
//3. get the screen size of your game canvas
var winsize = director.getWinSize();
//4. calculate the center point
var centerpos = cc.p(winsize.width / 2, winsize.height / 2);
//5. create a background image and set it's position at the center of the screen
//var spritebg = cc.Sprite.create(s_HelloBG);
//spritebg.setPosition(centerpos);
//this.addChild(spritebg);
//6.create a menu and assign onPlay event callback to it
cc.MenuItemFont.setFontSize(60);
var menuItemPlay= cc.MenuItemSprite.create(
cc.Sprite.create(s_start_n),
cc.Sprite.create(s_start_s),
this.onPlay, this);
var menu = cc.Menu.create(menuItemPlay);
menu.setPosition(centerpos);
this.addChild(menu);
},
//this is the callback when the menu is clicked
onPlay : function(){
cc.log("==onplay clicked");
var director = cc.Director.getInstance();
director.replaceScene(new MainLayer());
}
});
MenuLayer.create = function () {
var sg = new MenuLayer();
if (sg ) {
return sg;
}
return null;
};
MenuLayer.scene = function () {
var scene = cc.Scene.create();
var layer = MenuLayer.create();
scene.addChild(layer);
return scene;
};
.
이 코드는 menu.js 및 스타터 장면을 각각 참조하는 내 코드입니다.
engineDir:'./Platform/HTML5/cocos2d/',
appFiles:[
'./Src/resource.js',
'./Src/MainLayer.js',
'./Src/GameOver.js',
'./Src/main.js',
'./Src/menu.js'
]
.
var myApp = new cocos2dApp(MenuLayer.scene);
. 해결책
내가 추측하는 유일한 대답은 캐시를 비우는 것입니다. (Chrome) "Developer Tools"-> "옵션"-> "캐시 사용 비활성화"및 Dev Tools
를 닫지 않고 다시로드 페이지를 엽니 다.제휴하지 않습니다 StackOverflow