Среда, 27 Ноября 2024, 21:40

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Прогресс прохождения
RamilyanamanaДата: Воскресенье, 29 Декабря 2013, 07:02 | Сообщение # 1
Биззи Джей Ужасный
Сейчас нет на сайте
Вся карта закрыта спрайтами черного цвета, когда игрок прикасается к одному из них он (спрайт) исчезает. Этих спрайтов на карте почти 2000, как сделать так что бы количество этих спрайтов равнялось 0%, а при их уничтожении этот процент рос до тех пор, пока не будут уничтожены все спрайты?


GefakДата: Воскресенье, 29 Декабря 2013, 07:59 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
В школе не учились? Элементарная пропорция
2000 это 0%, 0 - 100%
При уничтожении одного 2000 меняется на 1999
Чтоб получить нужный процент - делим 1999 на 2000, тобишь цифру текущего количества спрайтов на общее количество. Домножаем на 100 и получившуюся цифру отнимаем от 100 - получаем процент прогресса прохождения
В данном случае 100 - 1999 / 2000 * 100 = 100 - 99.95 = 0.05%
100 - 768 / 2000 * 100 = 100 - 38,4 = 61.6%
В итоге формула:
100 - колвоспрайтов / макс.спрайтов * 100


Сообщение отредактировал Gefak - Воскресенье, 29 Декабря 2013, 08:03
RamilyanamanaДата: Воскресенье, 29 Декабря 2013, 11:00 | Сообщение # 3
Биззи Джей Ужасный
Сейчас нет на сайте
А округлить это как-то можно, а то число не хилое то получается(: Кстати спасибо.


LabirintikДата: Воскресенье, 29 Декабря 2013, 11:03 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Цитата Ramilyanamana ()
А округлить это как-то можно, а то число не хилое то получается(: Кстати спасибо.

Перевести Float в Int, вроде бы на Construct это можно
allxumukДата: Воскресенье, 29 Декабря 2013, 11:05 | Сообщение # 5
старожил
Сейчас нет на сайте
Цитата Ramilyanamana ()
А округлить это как-то можно, а то число не хилое то получается

floor(число) - основы же.


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
RamilyanamanaДата: Воскресенье, 29 Декабря 2013, 11:32 | Сообщение # 6
Биззи Джей Ужасный
Сейчас нет на сайте
Спасибо, буду пробовать. А пока еще одна задачка: Есть приватная переменная Key, когда я беру ключ переменной прибавляется 1. Если переменная равна 1, то при открытии двери она уменьшается на 1 и становится равной 0, но когда я собрал 2 и более ключей и только потом начал открывать дверь, то переменная тут же стала равной 0.
Исходник прилагается:
http://rghost.ru/51276423



LabirintikДата: Воскресенье, 29 Декабря 2013, 11:38 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Цитата Ramilyanamana ()

http://rghost.ru/51276423

Замени Set на Subtract, а Sprite3.Value('Key')-1 на 1
RamilyanamanaДата: Воскресенье, 29 Декабря 2013, 11:40 | Сообщение # 8
Биззи Джей Ужасный
Сейчас нет на сайте
Так было в самом начале. Я подумал, что исправлю ситуацию поменяв на то, что сейчас имеется.


LabirintikДата: Воскресенье, 29 Декабря 2013, 11:42 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Цитата Ramilyanamana ()
Так было в самом начале. Я подумал, что исправлю ситуацию поменяв на то, что сейчас имеется

я может не прав, ну зачем цикл?


Сообщение отредактировал Labirintik - Воскресенье, 29 Декабря 2013, 11:44
RamilyanamanaДата: Воскресенье, 29 Декабря 2013, 11:43 | Сообщение # 10
Биззи Джей Ужасный
Сейчас нет на сайте
что бы это действие (Subtract from value) сработало один раз.


LabirintikДата: Воскресенье, 29 Декабря 2013, 11:46 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
Цитата Labirintik ()
я может не прав, ну зачем цикл?

Цитата Ramilyanamana ()
что бы это действие (Subtract from value) сработало один раз.

Добавлено (29.12.2013, 11:46)
---------------------------------------------
Все цикл убрал, работает, кидать?

RamilyanamanaДата: Воскресенье, 29 Декабря 2013, 11:47 | Сообщение # 12
Биззи Джей Ужасный
Сейчас нет на сайте
кидай


LabirintikДата: Воскресенье, 29 Декабря 2013, 11:47 | Сообщение # 13
постоянный участник
Сейчас нет на сайте
Исходник
allxumukДата: Воскресенье, 29 Декабря 2013, 12:37 | Сообщение # 14
старожил
Сейчас нет на сайте
Цитата Labirintik ()
ну зачем цикл?

Цитата Ramilyanamana ()
что бы это действие (Subtract from value) сработало один раз.

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


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
LabirintikДата: Воскресенье, 29 Декабря 2013, 12:40 | Сообщение # 15
постоянный участник
Сейчас нет на сайте
Цитата allxumuk ()

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

я изменил сообщение и он отправил свой текст одновременно, а изначально был вопрос про trigger once
allxumukДата: Воскресенье, 29 Декабря 2013, 13:00 | Сообщение # 16
старожил
Сейчас нет на сайте
Цитата Labirintik ()
я изменил сообщение и он отправил свой текст одновременно, а изначально был вопрос про trigger once

Однако действие стоит именно под циклом, потому от переменной и отнималась единица, пока Key не достигала 0.


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг