PDA

Просмотр полной версии : сбор придметов и зачеслени очков


sogologo
27.12.2007, 10:22
вот делаю игру пока только идет доработки так сказать движка... в исходник есть машинка значит едет она по дороге и должна собирать так сказать предметы, до пустим деньги собрала маленьки знак доллора получила 10 баксов большой 20... и эти очки должны показываться в углу каком нибудь... и еще будут и другие объекты так сказать анти объект при наезде машины на него очки считывается с игрового счета вот и все например при назеде на анти объект отминусовывается 10 очков... а если очков нет то игра заканчивается то бишь гейм овер....

за рание всех блогадарю за помощь... и пока сам пытаюсь решить эту проблему

repz
27.12.2007, 12:33
Через хит тест определяйте столкновение с объектом, а в динамик текст добавляйте или отнимайте очки, потом условие, что если очки уходят в минус, например, тогда гейм овер.
Как-то так.

sogologo
27.12.2007, 12:38
я это все понимаю но не могусоставить алгоритм не идем он меня пока ошибак вроде нет но алгоритм не идет... помоги кодом

repz
27.12.2007, 12:47
Проверяй в цикле столкновение всех денег по 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
да вот именно я что пишу код хит теста.. а он у меня вобще не идет как будто я его не к какому объекту не обращаю так что жду каких нибудь примеров... что оттолкунться от чего нибудь

что за интервал? и как выполнить дейсвия эти??? отнимания и прибавления? и это код как я понял надо писать в кадр? ...
есть у меня динамечный текст как все действия обратить к ниму?

repz
27.12.2007, 13:25
Этот код нужно писать в main а не в кадр, задайте имя динамик тексту и обращайтесь к нему по этому имени.
Объект должен быть прямоугольным или квадратным иначе нужно будет использовать битмапдата. Интервал проверяет через заданный промежуток времени произошли ли события описанные в его теле.
Про действия отнимания и прибавление почитайте по F1 из флеша, слова для поиска - operator.
Что-то Вы слишком сложную задачу взяли для начала, если не знаете , как обратиться к динамик тексту.

Вот посмотрите, авось разберетесь.

sogologo
27.12.2007, 14:15
спасибо поробуй разобраться посмотрел пример попробую все сам сделать вроде трудностей не вижу

что то не получается можешь изменить мой исходник вроде все правильно написанно... но именно у меня машинка работает на клавишах а не на драг маус... и поэтому не идет попробуй с моим исходником поработать :)

repz
27.12.2007, 14:56
у меня твой исходник не открывается.

sogologo
27.12.2007, 14:57
вот вроде разобрался сейчас очки работают по твоему алгоритму... разобрался с интервалом все вспомнил... пока только не приступал к обращению текста...... выкладываю исходник... разобрался что бы объект исчезал при его сборе... осталось только задать пиременые к счетчику и формулы прибовления и уменьшания составить и встаивть их в код поробую сам поковырятся но жду помощи из вне :) по этому исходнику будут вопросик еще ?)

iNils
27.12.2007, 14:59
repz и sogologo, когда хотите что-то добавить, используйте кнопку http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif и редактируйте последнее сообщение, а не создавайте несколько сообщений подряд.

sogologo
27.12.2007, 15:00
исходник мой

repz
27.12.2007, 15:17
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);

теперь надо еще маленькую загвоздку решить у машинки должен заканчиваться бензин если бензин кончается то машина перестает управлятся например и врезается или проще просто игра заканчивает... можно и так...

так же занружаю обновленый исходник

iNils
28.12.2007, 09:56
2 repz: были, вот это сообщение http://www.flasher.ru/forum/showpost.php?p=706672&postcount=6 составлено из двух

а вот sogologo не внял моему предостережению и получает плюс.

repz
28.12.2007, 16:41
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");
}
}