Этот объект будет хранить все остальные объекты, которые мы создаем. Единственная причина для создания этого контейнерного объекта game, состоит в предохранении сцены от заполнения ненужными данными. Мы можем хранить все, что нам нужно о шарах в объекте game. Во второй строке мы устанавливаем переменную объекта game, которая хранит число шаров, которое мы используем.
Далее, мы делаем цикл для каждого шара, создавая для него объект, и сохраняя информацию об этом шаре в его объекте. Обратите внимание, что мы не даем шарам никаких начальных скоростей. В строках 13-15 мы назначаем шарам начальные векторные скорости.
Приходим к следующему коду ActionScript:
1 function moveBalls(){
2 for (var i=1;i<=game.numBalls;++i){
3 var ob =game ["ball"+i ];
4 ob.tempx =ob.xpos+ob.xmov;
5 ob.tempy =ob.ypos+ob.ymov;
6 }
7 }
Эта функция проходит в цикле по списку шаров (в данном случае лишь два шара) и обновляет их временные позиции в памяти в их текущие позиции плюс их скорость. Мы еще не обновляем позицию реального клипа в сцене. Я советую вам взять в привычку создание временного положения клипа в памяти, потому что когда мы начинаем работать с реакциями на столкновения, мы будем обновлять временное положение клипа (как результат многочисленных реакций или сил) возможно несколько раз, прежде чем мы действительно изменим положение клипа в сцене.
Давайте проанализируем пример. Представьте, что вы кодируете игру, в которой шар отскакивает от стены. Этот шар может перемещаться очень быстро. Теперь представьте, что в одном кадре шар не сталкивается со стеной, а в следующем кадре вы обнаруживаете, что половина шара пересеклась со стеной. Когда это происходит, вы не хотите обновлять положение шара в сцене для демонстрации этого. Пожалуй, хорошей мыслью будет обновление положения шара в памяти для отражения того, где шар должен быть и затем рисовать шар на экране. Таким образом, если обнаружено, что шар сталкивается со стеной (не имеет значения, как далеко он проник в стену), то мы должны обновить положение шара в памяти, так что шар лишь едва коснется стены