Петля while
не имеет части else
. Блок while
выполняется в цикле; как только условие становится равным false
, цикл заканчивается, и выполнение продолжается с оператора после цикла, нет никакой причины / необходимости помещать else
туда.
Но в вашем случае вы, вероятно, вообще не хотите петли. Я полагаю, ваш триггер срабатывает при каждом столкновении. Таким образом, вы действительно имели в виду условие if
, где ветвь else
полностью в порядке.
Кроме того, я думаю, что вы либо хотели Health--
уменьшить здоровье, или вы хотели Health < 3
для подсчета столкновений (и, вероятно, переименовать переменную в CollisionCount
или что-то подобное?). [1115 ]
Итак, ваш код должен быть
void OnTriggerEnter(Collider other)
{
if (Health > 0)
{
Health--;
Debug.Log(Health);
}
else
{
GameOver();
}
}
В моих целях это - просто вещь, которая создает библиотеку повышения для Вас, я не знал, что Вы могли сделать что-либо еще с ним так, я не понимаю то, что Вы могли подразумевать под миграцией на него. И я сожалею, но я не знаю, каков регулярный затор. Так как никто больше не предоставил ответ, я просто обеспечу свое понимание его.
Повышение является набором классов, и функции для C++ полезны для различных задач. Классы и функции повышения сгруппированы в библиотеки. Некоторые библиотеки имеют весь их код в заголовочных файлах, которые можно использовать просто при помощи #include оператора препроцессора, в то время как у других (таких как файловая система или библиотека регулярных выражений) есть часть их реализации в .cpp файлах.
Компиляция этих .cpp файлов может взять возрасты (она похожа на 30 минут в зависимости от того, что Вы компилируете), и это была бы реальная боль, если бы получасу потребовался каждый раз, когда Вы хотели перекомпилировать свою программу. Таким образом, то, что они сделали, только для тех библиотек, которые частично хранятся в .cpp файлах, можно предварительно скомпилировать их в .lib файл, и это - цель затора повышения. Это означает, что только необходимо провести полчаса, компилируя их однажды , и с тех пор Вы никогда не должны ожидать полчаса снова.
Однако, как можно предположить, каждая библиотека повышения состоит из многих cpp файлов и многих заголовочных файлов, и существует много различных ароматов каждого (отладочные версии, версии выпуска, многопоточные, и т.д.) и таким образом, это не простой процесс, чтобы просто скомпилировать библиотеку повышения сами. Это - то, где затор повышения входит. Вы даете ему команду для компиляции библиотек, и затем это дает все команды для Вас к компилятору, и к концу его, у Вас будет набор предварительно скомпилированных .lib файлов, один для каждого различного аромата каждой библиотеки. Заголовочные файлы так или иначе говорят компоновщику, какие библиотечные файлы включать, поэтому если у Вас есть корректная установка путей, корректный аромат предварительно скомпилированного .lib файла будет автоматически связан с Вашей программой, таким образом сохраняя Вас 30-минутная компиляция.
Вы видите, какие библиотеки должны быть скомпилированы затором повышения и что библиотеки не делают путем рассмотрения этой страницы: http://www.boost.org/doc/libs/1_37_0 - если библиотеке не нужен библиотечный файл (и поэтому не требует, чтобы Вы смешали с затором повышения сначала), он скажет "Сборку & Ссылка: Заголовок только", тогда как, если библиотека действительно требует, чтобы Вы предварительно скомпилировали библиотечный файл, он скажет "Сборку & Ссылка: Автоматическое соединение".
кроме того, если Вы находитесь в Windows, можно загрузить предварительно скомпилированные .lib файлы, таким образом, Вы никогда не должны использовать затор повышения. Для получения это, что необходимо сделать, является движением к странице www.boost.org, перейдите к разделу Getting Started и следуйте за всем этим путь через только, чтобы удостовериться, что у Вас есть все установка правильно. Одна из ссылок на версию для Windows той страницы говорит Вам, где найти предварительно скомпилированные .lib файлы.
Учитывая выбор инструментов сборки я не мигрировал бы для затора. Существуют лучшие системы сборки там - CMake / SCons для C/C++, qmake для QT, Муравья для Java, NAnt и MSBuild для.NET, и так далее. Они не могли бы быть технически выше, но они будут менее болезненными для использования просто, потому что намного больше людей знакомо с ними (с другой стороны, они могли бы быть технически выше, конечно: D).
Как Вы заявляете, Затор Повышения является системой сборки и может использоваться независимо от любых других библиотек повышения. Я ничего не знаю о По необходимости Заторе, но к моему пониманию, затор Повышения очень похож, и главным образом совместим.
основное различие - то, что Затор Повышения часто идет Сборка Повышения , набор правил затора, разработанных для общих задач, например, библиотек компиляции, рабочих модульных тестов, создание doxygen документация, и т.д.
По сравнению с другими системами сборки, Сборка Затора/Повышения Повышения разработана для легко компиляции различных вариантов. Таким образом, если Вы хотите изменить настройки компиляции от отладки до выпуска, или единственный - к многопоточному, это определяет много изменений автоматически.
недостаток состоит в том, что синтаксис является очень привередливым, и вне веб-сайта повышения, нет никакой хорошей документации. Но я предполагаю По необходимости, что Затор так же плох в том отношении.
Я использую Boost Jam для кроссплатформенной разработки на C ++. Я выбрал его, потому что
Вы можете уточнить общие правила с настройками, зависящими от разновидности. вместо того, чтобы писать отдельные правила для каждой перестановки аромата. Синтаксис не совсем тот, который я бы выбрал, но к нему не так уж сложно привыкнуть.
В этой статье Boost Jam сравнивается с CMake, SCons и Eclipse CDT: http://syrosis.ispras.ru/2009/files/04_paper.pdf
Насколько я понимаю, Boost Jam является ответвлением Perforce Jam поддерживается сообществом Boost, и этот Perforce Jam больше не поддерживается активно (последнее обновление примечания к выпуску было сделано в апреле 2003 года).
Конечно, если вас это не волнует. кроссплатформенная разработка, есть более простые способы, как упоминали здесь другие. Лично я все еще хочу вернуться к Eclipse CDT; 5 лет назад он казался непригодным для использования, но я слышал, что он прошел долгий путь.
и что Perforce Jam больше не поддерживается активно (примечания к выпуску имеют последнее обновление в апреле 2003 г.)Конечно, если вас не волнует кроссплатформенная разработка, есть более простые способы. пути, как уже упоминалось здесь. Лично я все еще хочу вернуться к Eclipse CDT; 5 лет назад он казался непригодным для использования, но я слышал, что он прошел долгий путь.
и что Perforce Jam больше не поддерживается активно (примечания к выпуску имеют последнее обновление в апреле 2003 г.)Конечно, если вас не волнует кроссплатформенная разработка, есть более простые способы. пути, как уже упоминалось здесь. Лично я все еще хочу вернуться к Eclipse CDT; 5 лет назад он казался непригодным для использования, но я слышал, что он прошел долгий путь.