Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Как сделать простенькую игру на сравнение?
Flash Zone Forum > Macromedia Flash > Общие вопросы
Yugin
Как сделать простенькую игру на сравнение?
Допустим, есть две картинки имеющие несколько отличий, игра состоит в том чтобы выявить все отличия, а при каждом выявлении отмечалось на счетчике.
Scooter
Хм...
Можно попробовать создать прозрачный мувиклип,и поместить туда,где должно находится отличие,и при нажатии на этот мувиклип прибавляется одно очко и обводится кружочком то место.
Правда игра будет не супер,т.к. можно на рандом нажимать по всей картине и найти отличия!
Но все же попробуй =)
MustLive
Цитата
Как сделать простенькую игру на сравнение?

Yugin

Подобная игра несложна в реализации. При желании и навыках работы во Флеше можно быстро сделать такую игру.

Основная суть - это создание невидимых кнопок, на местах где находятся различия между картинками. О чём тебе уже написал Scooter. Причём замечу, сделать кнопки невидимыми не установкой прозрачности в 100% (это ресурсоёмкий метод), а сделав кнопку, у которой убрать первые три состояния, а оставить лишь последнее (Hit).

Алгоритм разработки игры следующий:

1. В новой флешке размещаешь на сцене две картинки, между которыми имеется несколько различий. Картинки могут быть как растровыми, так и векторными.

2. Над второй картинкой, в которой предстоит искать различия, размещаются невидимые кнопки (над местами различий).

3. Сделай счётчик найденных отличий. Размести его на сцене над двумя изображениями. На счётчике значение "0".

4. В каждой кнопке добавляешь код увеличивающий значение счётчика. Код этот задаёшь в кнопке, которая расположена в библиотеке. А на сцене размещаешь экземпляры кнопки. Тогда не придётся для каждой кнопки писать отдельный код, а он будет один для всех кнопок (универсальный).

5. Нужно позаботиться, чтобы код срабатывал единожды - чтобы только один раз прибавляло "1" к счётчику. Для этого в алгоритме нужно реализовать защиту от повторных нажатий на тоже отличие. Это можешь сделать, например, указав в коде, чтобы после первого нажатия кнопка становилась неактивной.

Цитата
Правда игра будет не супер,т.к. можно на рандом нажимать по всей картине и найти отличия!

Для минимизации данного эффекта, Scooter, можно использовать ряд техник. Например, можно сделать кнопку отличия малого размера (в виде точки). Тогда игроки, которым лень искать различия, просто устанут скликивать всё изображение, особенно если оно крупных размеров. Можно также установить необходимость сделать несколько кликов (2 и больше) на месте отличия, для его активации, что ещё больше отобьёт охоту кликать по всему изображению.
Yugin
Спасибо за ответ.
tiHo
а вы не думали, что можно сделать флажочки, ограниченое количество(сколько отличий столько и флажочков), и перетаскивать их мышкой, на возможные местоположения отличий. и при отпускании флажочка, проверять находится ли он над отличием(можно сделать невидимый клип, и проверять касается ли его флажок), и чтобы пользователь не таскал один флажок 100 раз пока все не найдет, сделать ограниченое число попыток smile.gif
tiHo
вот, для примера сделал простенькую игрушку, как и хотел объяснить.

скачать:

(rar:[swf fla])
http://tiho.clan.su/port/fl/10otl/10otl.rar

поиграть:

http://tiho.clan.su/port/fl/10otl/

подробнее как и че:

1.вставляем в флешку 2 картинки(ну как и пологаеца при поиске отличий)
2. делаем клип, в котором квадратиками выделяем те области, на которые должны ставица флаги.
3. делаем ему видимость в 1% (чтобы и не видим был, и можно было с ним работать)
4. каждый раз, при отпускании кнопки мыши, проверяем все ли флаги касаюца клипа с выделенными облостями. елси все, то вызываем функцию окончания игры( gameover() ).

вроде понятнее некуда.

PS> так же можно сделать чтобы координаты областей, загружались из внешнего txt файла(на тот случай, если игра будет динамической - картинка будет на одна, а куча). ну ето я уже делать не буду(не зачем) smile.gif
Yugin
Цитата(tiHo @ 9.08.2007 - 21:49) *
вот, для примера сделал простенькую игрушку, как и хотел объяснить.

скачать:

(rar:[swf fla])
http://tiho.clan.su/port/fl/10otl/10otl.rar

поиграть:

http://tiho.clan.su/port/fl/10otl/

подробнее как и че:

1.вставляем в флешку 2 картинки(ну как и пологаеца при поиске отличий)
2. делаем клип, в котором квадратиками выделяем те области, на которые должны ставица флаги.
3. делаем ему видимость в 1% (чтобы и не видим был, и можно было с ним работать)
4. каждый раз, при отпускании кнопки мыши, проверяем все ли флаги касаюца клипа с выделенными облостями. елси все, то вызываем функцию окончания игры( gameover() ).

вроде понятнее некуда.

PS> так же можно сделать чтобы координаты областей, загружались из внешнего txt файла(на тот случай, если игра будет динамической - картинка будет на одна, а куча). ну ето я уже делать не буду(не зачем) smile.gif


Спасибо, надо будет и так попробовать.
Yugin
Сделал игру на сравнение,

Нужно чтобы после найденых 10-сти различий, игра произграла поверх, уже зделанный полупрозрачный мувик (с поздравлением и кнопкой на начало).

В игре есть счетчик с кодом:

в слое:


Код:
i=0
b=1
c=1
text.text=i


и соответственно в кнопках:


Код:

on(release) {
bat1.enabled=false;
text=b+i
b=b+c
}

*
*
*

on(release) {
bat10.enabled=false;
text=b+i
b=b+c
}



Все работает просто нужно чтобы, после выполнения задания (найденых 10 отличий) в мувик подгрузился еще один. я так понимаю что нужно отловить событие в счетчике и по наступлению в счетчики 10, сразу же подгрузить мув. Но как это сделать я незнаю, код относящийся к счетчику выше.
tiHo
не помогу пока не прекратиш писать код на кнопки/клипы. весь код только на кадр. или пость другие тогда объясняют. я пас.
Yugin
Цитата(tiHo @ 11.08.2007 - 18:29) *
не помогу пока не прекратиш писать код на кнопки/клипы. весь код только на кадр. или пость другие тогда объясняют. я пас.


Вот исходник, как в него подгрузить мувик после использования кнопок?

http://www.flasher.ru/forum/attachment.php...mp;d=1186912860
tiHo
для загрузки мувиков используй функцию loadMovie() или loadMovieNum() для загрузки мувика на нужный уровень.
Yugin
Цитата(tiHo @ 12.08.2007 - 19:48) *
для загрузки мувиков используй функцию loadMovie() или loadMovieNum() для загрузки мувика на нужный уровень.


Да это я понимаю просто неполучается код впендюррить, что бы по использовванию всех 10-сяти кнопок, автоматом игра запускала мувик с концовкой, типо молодец, и кнопка "ещё разок"....
angelfh
Цитата(MustLive @ 8.08.2007 - 15:32) *
Yugin
4. В каждой кнопке добавляешь код увеличивающий значение счётчика. Код этот задаёшь в кнопке, которая расположена в библиотеке. А на сцене размещаешь экземпляры кнопки. Тогда не придётся для каждой кнопки писать отдельный код, а он будет один для всех кнопок (универсальный).


Бьюсь который час- не могу придумать что прописать. Просто не работает!!!!
MustLive
Цитата
Бьюсь который час- не могу придумать что прописать. Просто не работает!!!!

angelfh

Прописать на кнопках ты должен код увеличивающий значение счётчика. В данном случае значение счётчика количества правильных сравнений.

Вот взгляни на пример tiHo, скачай исходник и посмотри как он сделал.

Цитата
скачать:

(rar:[swf fla])
http://tiho.clan.su/port/fl/10otl/10otl.rar

поиграть:

http://tiho.clan.su/port/fl/10otl/
Русская версия IP.Board © 2001-2009 IPS, Inc.