|
|
|||||
Регистрация: Feb 2014
Сообщений: 30
|
Подсчёт очков
Здравствуйте!
Хотел реализовать подсчёт очков, но возникла неприятная ситуация с переменными. Случай такой: есть 2 предмета которые нужно ловить 1 должен прибавлять 1 очко, второй 2 очка Первая функция: var sc:Number=0; // переменная для подсчёта очков ... if (yayc.hitTestObject(Object(root).wolf.sobirat)) // Функция столкновения { yayc.removeEventListener(Event.ENTER_FRAME, polet); removeChild (yayc); sc +=1; // прибавление очков trace (sc); } var sc2:Number=0; // переменная для подсчёта очков ... if (yayc.hitTestObject(Object(root).wolf.sobirat)) // Функция столкновения { yayc.removeEventListener(Event.ENTER_FRAME, polet); removeChild (yayc); sc2 +=2; // прибавление очков trace (sc2); } Ну так суть проблемы в том чтобы при выполнении этих двух функций изменялась одна переменная а не две? Как можно это реализовать?) |
|
|||||
Регистрация: Feb 2014
Сообщений: 30
|
Для того чтобы один предмет прибавлял 1 очко а второй 2 очка. Задумка такая)
Добавлено через 23 минуты globalScore - что это за переменная?) не могу найти внятного объяснения) И я так понимаю она используется при программировании в классах? |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
вне функций напишите
в функциях пишите и |
|
|||||
Регистрация: Feb 2014
Сообщений: 30
|
Вот такая вот ошибка:
Цитата:
|
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
похоже что вы ее 2 раза задали
|
|
|||||
Регистрация: Feb 2014
Сообщений: 30
|
ну так ведь в этом и суть, чтобы при выполнении этих двух функций изменялась одна переменная а не две)
|
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
полный код покажите
|
|
|||||
Регистрация: Feb 2014
Сообщений: 30
|
import flash.events.Event; import flash.display.MovieClip; import flash.events.TimerEvent; var kadr=0; var _count=60; // переменная для таймера var globalScore:uint; // переменная для подсчёта очков var speedX:Number=0; // скорость var speedY:Number=5; stage.addEventListener(Event.ENTER_FRAME, poyavlenie); function poyavlenie (e:Event) { if (++kadr%_count == 0) {var yayc = new Yayc(); var razb = new Razb(); var coord:Array = [95, 255, 415, 565, 707]; var toch:uint; toch = uint(Math.random() * coord.length); yayc.x = razb.x = coord[toch]; yayc.y = razb.y = 195; yayc.xmov = razb.xmov = speedX; yayc.ymov = razb.ymov = speedY; razb.visible = false; addChild(yayc); addChild(razb); yayc.addEventListener(Event.ENTER_FRAME, polet); razb.addEventListener(Event.ENTER_FRAME, polet2); } } var timer:Timer=new Timer(1200000); timer.addEventListener(TimerEvent.TIMER, timer_timer); timer.start(); function timer_timer(e:TimerEvent):void { _count -= 10; } function polet (e:Event) { var yayc = e.currentTarget; yayc.x += yayc.xmov; yayc.y += yayc.ymov; if (yayc.y>845) {yayc.removeEventListener(Event.ENTER_FRAME, polet); removeChild (yayc); } if (yayc.hitTestObject(Object(root).wolf.sobirat)) // Функция столкновения { yayc.removeEventListener(Event.ENTER_FRAME, polet); removeChild (yayc); globalScore +=1; // прибавление очков trace (globalScore); } } function polet2(e:Event) { var razb = e.currentTarget; razb.x += razb.xmov; razb.y += razb.ymov; if (razb.y > 845) { setTimeout(function():void { removeChild(razb); }, 70 * stage.frameRate); razb.removeEventListener(Event.ENTER_FRAME, polet2) razb.visible = true; } if (razb.hitTestObject(Object(root).wolf.sobirat)) // Функция столкновения { razb.removeEventListener(Event.ENTER_FRAME, polet2); removeChild (razb); } } |
|
|||||
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
так где второй код находится? в другом кадре или в этом же , но дальше?
|
Часовой пояс GMT +4, время: 16:54. |
|
« Предыдущая тема | Следующая тема » |
|
|