<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

Параллельно с курсом Вы также будете получать домашние задания, результатом которых станет, в том числе, полноценная серьёзная работа для портфолио.

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Цикл и tpl
17.11.2011 23:16:02 Цикл и tpl Сообщение #1
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, подскажите пожалуйста, как значения из цикла while вывести в tpl???
Ведь там получается конструкция
$cikl = while ($row = mysqli_fetch_array($result)) echo "<input type = 'checkbox' name = 'style[]' value = '" . $row['id'] . "'>" . $row['name'] . "<br />";
$styles = file_get_contents("./templates/reg_form.tpl";
$styles = str_replace("{styles}", $cikl, $styles);
echo $styles;

А это вообще смешно выглядит) Ведь наверное есть какие нибудь способы записи такого цикла?
Профиль
17.11.2011 23:22:30 Цикл и tpl Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Насколько я понимаю, в $row содержится набор элементов, которые необходимо подставить в reg_form.tpl. Если так, то нужно создать внутри цикла 2 массива: элементов шаблона и соответствующие значения.
Далее вызвать str_replace($el_templates, $el_values, $template); Первые две переменные - это и есть массивы, которые были созданы в цикле.
Профиль
17.11.2011 23:23:56 Цикл и tpl Сообщение #3
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Ага, вроде понял))) Пойду пробовать)))
Профиль
17.11.2011 23:56:55 Цикл и tpl Сообщение #4
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, ну значения я понял как сделать в массив, а вот как саму заменяемую строку в tpl файле тогда заменять? Ведь получается, что цикл у меня сам делает код и html
вот примерно код с массивом значений
public function styles() {
$query = "SELECT * FROM styles";
$result = mysqli_query($this->connect, $this->close) or die("Ошибка!!!!";
$styles = file_get_contents("./templates/reg_form.tpl";
while ($row = mysqli_fetch_array($result)) {
$asd[] = "<input type = 'checkbox' name = 'style[]' value = '" . $row['id'] . "'>" . $row['name'] . "<br />";

}
$styles = str_replace("{styles}", $asd[], $styles);
echo $styles;
}

Как заменить этим строку "{styles}"?
Вот код tpl файла
<form name = "form1" action = "obr.php" method = "post">
<input type = "text" name = "name">Имя<br />
{styles}
</form>
Профиль
18.11.2011 00:00:17 Цикл и tpl Сообщение #5
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

У Вас проще, чем я думал. Здесь даже массивы не нужны. Достаточно в цикле вместо массива использовать обычную переменную:
$text .= "<input type = 'checkbox' name = 'style[]' value = '" . $row['id'] . "'>" . $row['name'] . "<br />";
Заметьте, она с каждой итерацией увеличивается.
А затем: $styles = str_replace("{styles}", $text, $styles);
Профиль
18.11.2011 00:12:20 Цикл и tpl Сообщение #6
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Спасибо, Михаил))))Заработало))) Только вот появился вопрос, что означачет точка перед знаком = ???
Профиль
18.11.2011 00:13:16 Цикл и tpl Сообщение #7
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Это аналогично: $text = $text."какая-то строка";
Профиль
18.11.2011 00:14:35 Цикл и tpl Сообщение #8
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

аааа, спасибо за инфо)))
Профиль
18.11.2011 00:36:26 Цикл и tpl Сообщение #9
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, а как сделать, что бы в цикле было размещение не
<input type = 'checkbox' name = 'style[]' value = '15'>Acid Breaks<br /><input type = 'checkbox' name = 'style[]' value = '16'>Ambient Breaks<br />
<input type = 'checkbox' name = 'style[]' value = '15'>Acid Breaks<br /><input type = 'checkbox' name = 'style[]' value = '16'>Ambient Breaks<br />

а допустим
<input type = 'checkbox' name = 'style[]' value = '15'>Acid Breaks<br /><input type = 'checkbox' name = 'style[]' value = '16'>Ambient Breaks

<input type = 'checkbox' name = 'style[]' value = '15'>Acid Breaks<br /><input type = 'checkbox' name = 'style[]' value = '16'>Ambient Breaks<br />

То есть через каждые 2 прохода он ставил <br /> в конце?
Профиль
18.11.2011 00:45:24 Цикл и tpl Сообщение #10
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Идея примерно такая:
$i = 0;
while (...) {
$i++;
if ($i % 2 == 0) $text .= с br;
else $text .= без br;
}
Профиль