#javascript
Вопрос:
Я пытаюсь создать игру в CodeHS, но функция ClearScreen не очищает экран заголовка, вместо этого она говорит, что переменная «Небо» не определена, я предполагаю, что она делает то же самое для остальных переменных. Титульный экран печатается нормально, я просто не могу его очистить.
Также приветствуются любые советы по сокращению кода, я пытался создать функцию для создания окон, но понятия не имею, как это сделать.
Код:
var brown = new Color(140,74,47); //The start function makes the title screen. function start() { titleScreen(); mouseClickMethod(clearScreen); } function titleScreen() { //Landscape var Sky = new Rectangle(400,500); Sky.setPosition(0,0); Sky.setColor(Color.blue); add(Sky); var Sun = new Circle(50); Sun.setPosition(155,96); Sun.setColor(Color.yellow); add(Sun); var Ground = new Rectangle(400,200); Ground.setPosition(0,300); Ground.setColor(Color.green); add(Ground); //Bulding /*Windows go in order from left to right, top to bottom. *1 is the top left window. */ var Building = new Rectangle(100,300); Building.setPosition(50,100); Building.setColor(Color.grey); add(Building); var Window1 = new Rectangle(35,35); Window1.setPosition(60,110); Window1.setColor(Color.white); add(Window1); var Window2 = new Rectangle(35,35); Window2.setPosition(105,110); Window2.setColor(Color.white); add(Window2); var Window3 = new Rectangle(35,35); Window3.setPosition(60, 155); Window3.setColor(Color.white); add(Window3); var Window4 = new Rectangle(35,35); Window4.setPosition(105,155); Window4.setColor(Color.white); add(Window4); var Window5 = new Rectangle(35,35); Window5.setPosition(60,200); Window5.setColor(Color.white); add(Window5); var Window6 = new Rectangle(35,35); Window6.setPosition(105,200); Window6.setColor(Color.white); add(Window6); var Window7 = new Rectangle(35,35); Window7.setPosition(60,245); Window7.setColor(Color.white); add(Window7); var Window8 = new Rectangle(35,35); Window8.setPosition(105,245); Window8.setColor(Color.white); add(Window8); var Window9 = new Rectangle(35,35); Window9.setPosition(60,290); Window9.setColor(Color.white); add(Window9); var Window10 = new Rectangle(35,35); Window10.setPosition(105,290); Window10.setColor(Color.white); add(Window10); var Door = new Rectangle(35,50); Door.setPosition(83,350); Door.setColor(brown); add(Door); var Title = new Text("Title", "100pt Aleo"); Title.setPosition(60,150); Title.setColor(Color.black); add(Title); var Devs = new Text("By Terra", "40pt Aleo"); Devs.setPosition(75,200); Devs.setColor(Color.black); add(Devs); var Play_Button_Background = new Rectangle(200,100); Play_Button_Background.setPosition(90,350); Play_Button_Background.setColor(Color.black); add(Play_Button_Background); var Play_Button_Text = new Text("Start", "40pt Aleo"); Play_Button_Text.setPosition(135,415); Play_Button_Text.setColor(Color.white); add(Play_Button_Text); } function clearScreen() { titleScreen(); remove(Sky); remove(Sun); remove(Ground); remove(Building); remove(Window1); remove(Window2); remove(Window3); remove(Window4); remove(Window5); remove(Window6); remove(Window7); remove(Window8); remove(Window9); remove(Window10); remove(Door); remove(Title); remove(Devs); remove(Play_Button_Background); remove(Play_Button_Text); } function level1() { //Adds level 1. var test = new Circle(100); test.setPosition(100,100); add(test); }
Комментарии:
1. Единственное
Sky
, что в вашем коде относится кtitleScreen()
функции, насколькоclearScreen()
известно, эта переменная не существует.2. Хорошо, спасибо, я посмотрю, работает ли определение переменных.