Просмотр полной версии : сбор придметов и зачеслени очков
sogologo
27.12.2007, 10:22
вот делаю игру пока только идет доработки так сказать движка... в исходник есть машинка значит едет она по дороге и должна собирать так сказать предметы, до пустим деньги собрала маленьки знак доллора получила 10 баксов большой 20... и эти очки должны показываться в углу каком нибудь... и еще будут и другие объекты так сказать анти объект при наезде машины на него очки считывается с игрового счета вот и все например при назеде на анти объект отминусовывается 10 очков... а если очков нет то игра заканчивается то бишь гейм овер....
за рание всех блогадарю за помощь... и пока сам пытаюсь решить эту проблему
Через хит тест определяйте столкновение с объектом, а в динамик текст добавляйте или отнимайте очки, потом условие, что если очки уходят в минус, например, тогда гейм овер.
Как-то так.
sogologo
27.12.2007, 12:38
я это все понимаю но не могусоставить алгоритм не идем он меня пока ошибак вроде нет но алгоритм не идет... помоги кодом
Проверяй в цикле столкновение всех денег по 10 баков и если да то добавляй 2 очка, в другом цикле проверяй столкновение всех денег 20 баксов и добавляй три очка и так далее. Или все в одном цикле сделай, вот только думаю, что на общет уйдет много ресурсов, могет я и не прав, подожди пока гуру ответят.
var int1 = setInterval(function ()
{
if (bax10.hitTest(car))
{
выполнить действие прибавление;
}
else if (bax20.hitTest(car))
{
выполнить действие прибавление;
}
else if (kakashka.hitTest(car))
{
выполнить действие отнимание;
}
else
{
clearInterval(int1);
}
}, 100);
Как-то так, ен уверен на счет интервала только)
sogologo
27.12.2007, 12:55
да вот именно я что пишу код хит теста.. а он у меня вобще не идет как будто я его не к какому объекту не обращаю так что жду каких нибудь примеров... что оттолкунться от чего нибудь
что за интервал? и как выполнить дейсвия эти??? отнимания и прибавления? и это код как я понял надо писать в кадр? ...
есть у меня динамечный текст как все действия обратить к ниму?
Этот код нужно писать в main а не в кадр, задайте имя динамик тексту и обращайтесь к нему по этому имени.
Объект должен быть прямоугольным или квадратным иначе нужно будет использовать битмапдата. Интервал проверяет через заданный промежуток времени произошли ли события описанные в его теле.
Про действия отнимания и прибавление почитайте по F1 из флеша, слова для поиска - operator.
Что-то Вы слишком сложную задачу взяли для начала, если не знаете , как обратиться к динамик тексту.
Вот посмотрите, авось разберетесь.
sogologo
27.12.2007, 14:15
спасибо поробуй разобраться посмотрел пример попробую все сам сделать вроде трудностей не вижу
что то не получается можешь изменить мой исходник вроде все правильно написанно... но именно у меня машинка работает на клавишах а не на драг маус... и поэтому не идет попробуй с моим исходником поработать :)
у меня твой исходник не открывается.
sogologo
27.12.2007, 14:57
вот вроде разобрался сейчас очки работают по твоему алгоритму... разобрался с интервалом все вспомнил... пока только не приступал к обращению текста...... выкладываю исходник... разобрался что бы объект исчезал при его сборе... осталось только задать пиременые к счетчику и формулы прибовления и уменьшания составить и встаивть их в код поробую сам поковырятся но жду помощи из вне :) по этому исходнику будут вопросик еще ?)
repz и sogologo, когда хотите что-то добавить, используйте кнопку http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif и редактируйте последнее сообщение, а не создавайте несколько сообщений подряд.
sogologo
27.12.2007, 15:00
исходник мой
to inils:
У меня не было повторений)) я знаю правила))
2 sogologo:
У меня флеш 8 и ваш исходник не открывается(
sogologo
28.12.2007, 06:24
ок просто я делаю в 9 сейчас сохранил для восьмой смотри.... сегодня буду работать над операторами вычисления и обращения к динамичному тексту...
не как не получается.. к динамичному тексту обратится и что при сборе предмета очки зачислялись на счет... как это сделать?
возникла такая проблема все уже на счет сбора очков сделал но вот в чем проблема есть так сказать три объекта, первые два это положительные которые должны прибавлять по 5 и по 10 очков и третий анти объект который отнимает 10 очков... но динамик текст при сборе первого предмета все отлично зачисляет но после второго он опять к нули прибавляет.. например собрал ты первый раз 10 очков потом собираешь 5 и на счете у тебя не 15 а 10 едешь к анти объекту и получает опять от нуля отнимает... не понимаю в чем дело... вот выкладываю исходник для 8 флэшов и ниже....
так же выкладываю код по сбору очков и сбора предметов
var
int1 = setInterval(function () {
if (dollars5.hitTest(car))
{
dollars5.gotoAndPlay(2);
score.text =+5;
}
if (dollars10.hitTest(car))
{
dollars10.gotoAndPlay(2);
score.text = +10;
}
if (fufel_zap.hitTest(car))
{
score.text = -10;
}
},270);
все разобрался и с этой проблемой совсем простым путем добавления новой переменной
вот код
var
i:Number = 0;
int1 = setInterval(function () {
if (dollars5.hitTest(car))
{
i=i+5;
dollars5.gotoAndPlay(2);
score.text =i;
}
if (dollars10.hitTest(car))
{
dollars10.gotoAndPlay(2);
i=i+10;
score.text =i;
}
if (fufel_zap.hitTest(car))
{
i=i-10;
score.text =i;
}
},270);
теперь надо еще маленькую загвоздку решить у машинки должен заканчиваться бензин если бензин кончается то машина перестает управлятся например и врезается или проще просто игра заканчивает... можно и так...
так же занружаю обновленый исходник
2 repz: были, вот это сообщение http://www.flasher.ru/forum/showpost.php?p=706672&postcount=6 составлено из двух
а вот sogologo не внял моему предостережению и получает плюс.
2 inils: простите бывает в запаре)
2 sogologo: ну сделайте счетчик по истечении которого игра просто закончится, ну или привяжите это к бензину. В углу экрана прогресс бар привязанный ко времени и буит счастье.
sogologo
29.12.2007, 06:11
я разве не писал что когда наезжаешь на анти объект который считывает очки собранные, прибавляет скажешь 50 процентов к бензину например... а как сделать вот ты говоришь прогресс бар? и как при наезде на анти объект бензин прибавляется.... и при его заканчивание игра заканчивает... что то я не могу понять... покажи кодом как это сделать???
Ravanger
29.12.2007, 11:15
рисуешь прямоугольник, и вычисляешь его высоту(ширину) относительно переменной или времени или бензина, или рисуешь мувик на 100 кадров, вычисляешь процент расхода топлива и делаешь
bar.gotoAndStop(percent)
sogologo
29.12.2007, 11:34
мне надо что бы бензин кончался зависимости от времени... прибавлял по 50 процентов??? что ты мне написал я не понял как это реализовать.. я исходники выкладывал сделай хотя бы маленький примечик в них я разберусь и доделаю... за рание спасибо
Ravanger
29.12.2007, 11:56
var totalFuel:Number = 100;//всего топлива
var currentFuel:Number = totalFuel // осталось топлива
var def:Number = 1// сколько топлива должно отнятся
var timer:Number = getTimer()
var changeTime:Number = 1000; // время за которое должно отнятся топливо
this.onEnterFrame = function():Void
{
if (getTimer() - timer >= changeTime)
{
сurrentFuel -= def; //уменьшаем топливо
var per:Number = Math.round(currentFuel/totalFuel*100);
fuelBar.gotoAndStop(per); // меняем бар
}
if(currentFuel <= 0)
{
mc.gotoAndPlay("game_over");
}
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.