Супер быстро исчезающий ребенок - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь исследовать границы того, что мы сознательно осознаем ... хорошо, это звучит ужасно претенциозно, в основном, как долго что-то должно быть видимым, чтобы мы могли заметить.Но я не могу заставить своего ребенка исчезнуть достаточно быстро.

        valueX = SKLabelNode(fontNamed: "ArialRoundedMTBold")
        valueX.position = CGPoint(x: 0, y: 0)
        valueX.fontSize = 320
        valueX.text = String("H")
        valueX.fontColor = SKColor.white
        self.addChild(valueX)
        valueX.run(SKAction.scale(to: 0, duration: 0.00001))

Это должно быть слишком быстро, чтобы увидеть, но, похоже, оно останется на секунду.Есть ли какая-то другая техника, которую я могу использовать, чтобы сделать что-то очень кратким?

1 Ответ

0 голосов
/ 15 октября 2018

Я не думаю, что движок SK будет масштабировать промежуточные отрисовки спрайтов, т.е. обновления экрана, поэтому он должен быть на экране в полном размере, по крайней мере, для 1 кадра, что составляет 1/60 с.Я подозреваю, что двигатель SK определяет, сколько масштабировать на кадр, поэтому в следующем кадре он, вероятно, полностью исчез.Например, если вы хотите масштабировать до 25% в течение 1 секунды, SK подумает, что это было 0,01666667 с момента последнего розыгрыша, поэтому масштаб для масштабирования составляет 1/60 x 75% = 1,25%.

Если продолжительность действия меньше, чем время на кадр, эффект будет 100% на один кадр и 0% на следующий.

Если вы исследуете «человеческое постоянство видения», вы найдете много информации (которую я не изучал сам), поэтому может показаться, что она «задерживается на секунду», а невсего 1 / 60с

В качестве очень простой проверки, поместите спрайт на экране в didMoveTo(:view) в случайной точке, затем переместите его в случайную точку в update(), так что он будет перемещаться каждый раз update() работает (каждые 1/60 с).Если вы заметите, как оно мерцает, вы поймете, что можете чувствовать что-то, появляющееся в течение 1/60 секунды, но вы не сможете сделать это быстрее.

...