PDA

Просмотр полной версии : Основная сцена не обновляеться


Astend
08.10.2013, 00:02
Здравствуйте
класс Main не обновляется 24 раза в сек... почему?
Вот код

package src{
[SWF(width="400", height="400", frameRate='24')]
public class MinerGame extends Sprite{
public function MinerGame(){
trace("UPDATE");
}
}
}

Akopalipsis
08.10.2013, 00:08
Так конструктор то только раз выполняется.
Это как минимум. А вообще нужно событие EVENT.ENTERFRAME вызывать и тогда будут Ваши 24 кадра.
Точнее Вы увидите эти кадры подсчитав их. А вообще если я не ошибаюсь, они и так у Вас есть, вроде без кадров и флеша то нет.

Astend
08.10.2013, 00:10
не понял...

Akopalipsis
08.10.2013, 00:14
Слово "UPDATE" Вы увидите только один раз, так как конструктор выполняется, как раз один раз.
Если Вы поставите этот трейс в методе, которые выполняются сколько угодно раз, но только по их вызову,
Вы тоже не увидите слово "UPDATE" двадцать четыре раза в секунду. Для того чтобы увидеть это, нужно вызывать
этот метод постоянно, что возможно при помощи ENTERFRAME, который по умолчанию будет вызываться как раз с заданной Вами частотой.
package// это пакет - начало
{
import flash.display.Sprite;

[SWF(width="400", height="400", frameRate='24')]
public class Main extends Sprite // это класс - начало
{

public function Main() // это конструктор класса - начало
{
// всё что здесь, в теле конструктора, выполнится только один раз, при инициализации класса
}// это конструктор класса - конец ,всё что между началом и концом - это тело

}// это класс - конец ,всё что между началом и концом - это тело
}// это пакет - конец ,всё что между началом и концом - это тело

Astend
08.10.2013, 00:25
xD конечно радует что вы все расписали спасибо.

Но как же сделать что бы класс выполнялся 24 раза в сек?
В Flash CC есть taimline на котором размещены клипы, и там видно как бегают кадры, но вот как это сделать скриптом? Неужели мне придётся переписывать все в Flash CC?

Akopalipsis
08.10.2013, 00:30
package
{
import flash.display.Sprite;
import flash.events.Event;

[SWF(width="400", height="400", frameRate='1')]
public class Main extends Sprite
{

public function Main()
{
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}

private function enterFrameHandler(event:Event):void
{
trace(event.type);
}

}
}

Astend
08.10.2013, 00:37
Спасибо!

MikroAcse
08.10.2013, 00:37
Astend, о нет. Еще один.
Читайте книги, смотрите уроки, изучайте чужой код, только потом приходите сюда.
Вы даже основ не понимаете, и не знаете что делает Ваш код.

P.S: Пишите пока в Flash CS/CC на кадрах.

Babylon
08.10.2013, 01:16
Если на форуме есть раздел для новичков, то вам туда. Ваши ошибки типичные. Все их делали в разное время освоения приемов программирования на AS.

Akopalipsis
08.10.2013, 01:36
я пять книг прочел прежде чем сесть что то делать, а первый вопрос был о области видимости переменных)

in4core
08.10.2013, 01:47
я пять книг прочел прежде чем сесть что то делать, а первый вопрос был о зоне видимости переменных)
Ай яй яй - о видиости переменных в первых главах книг пишут)

Akopalipsis
08.10.2013, 01:56
Ай яй яй - о видиости переменных в первых главах книг пишут)
После нескольких лет - Спрашивать, как арку нарисовать...хи-хи...
И да, я знаю, что в первых главах, но вот пока не спросил почему то не знал этого...
Просто есть такие, как я, люди! которые не рождены со знанием as3.

in4core
08.10.2013, 02:42
Никто не рожден. Вам бы в AS2 попасть, вот это дело) Чего только там не выдумывали... эх delegate....