PDA

Просмотр полной версии : Не могу понять, почему не отображается MovieClip.


FAndES
12.01.2011, 17:50
Добрый день. Я новичок в ActionScript. Есть вопрос. (у меня flex 4.1).
Я хочу импортировать swf файл на канву
Делаю это так:
...
[Embed(source="images/1.swf")]
private var Game_img_arrow1:Class;
...
public function Start( container:* ) : void
{
container.removeAllElements();
var game_img_arrow1: Image = new Image();
game_img_arrow1.source=new Game_img_arrow1();
game_img_arrow1.x=607;
game_img_arrow1.y=200;
container.addChild(game_img_arrow1);
...

Всё прекрасно добавляется и работает. Теперь мне понадобилось управлять этой swf (например перещёлкнуть кадр). Тут возникли проблемы. Насколько я понял управлять Image`ом не получится. Тогда делаю тоже самое, но генерю MovieClip
var game_img_arrow1: MovieClip = new MovieClip();
Но теперь swf-ка даже не появляется. Но она у меня со звуком, и звук идёт. Ещё одну вещь хочу подметить: если я делаю таким образом, то те элементы, которые я кидаю на канву после этого элемента, тоже перестают добавляться, если меняю назад на Image - опять отображаются все элементы.
Подскажите пожалуйста, как быть?

cleptoman
12.01.2011, 20:35
ну, полагаю, что

var game_img_arrow1: MovieClip = new MovieClip();
game_img_arrow1.addChild(new Game_img_arrow1());

вместо

game_img_arrow1.source=new Game_img_arrow1();


должно помочь, однако тонкостей и нюансов вашего проекта не знаю.

FAndES
12.01.2011, 20:46
Не помогло... Тоже самое - звук есть, картинки нет.

Хомяк
12.01.2011, 20:55
Вы вообще в том разделе пишете? Что за new Image()?

FAndES
12.01.2011, 21:02
Почему нет?
http://help.adobe.com/ru_RU/AS3LCR/Flex_4.0/mx/controls/Image.html

cleptoman
12.01.2011, 21:15
FAndES, тут речь видимо о другом Image. по ссылке у класса нет свойства source.

АПД. пардон, есть )

Хомяк
12.01.2011, 21:19
Почему нет?
http://help.adobe.com/ru_RU/AS3LCR/Flex_4.0/mx/controls/Image.html
а, так это флексовский...сорри. Смутило то, что теги обрамления кода AS1/2

А измененный код с МувиКлипом можете показать?

FAndES
13.01.2011, 01:15
package com.mygame.game
{
import mx.controls.*;
import flash.display.*;
import flash.events.*;

public class Game
{

[Embed(source="images/1.swf")]
private var Game_img_arrow1:Class;

public function StartGame( container:* ) : void
{
container.removeAllElements();

var game_img_arrow1: MovieClip = new MovieClip();
//game_img_arrow1.addChild(new Game_img_arrow1());
game_img_arrow1.source=new Game_img_arrow1();
game_img_arrow1.play();
container.addChild(game_img_arrow1);
вот код

tsarapkabel
13.01.2011, 05:40
Не уверен
package com.mygame.game {

import mx.controls.*;
import flash.display.*;
import flash.events.*;

public class Game extends Sprite {

[Embed(source="images/1.swf")]
private var Game_img_arrow1:Class;


public function StartGame(container:*): void {

var game_img_arrow1: MovieClip = new Game_img_arrow1();
container.addChild(game_img_arrow1);
}
}
}

Хомяк
13.01.2011, 06:34
public function StartGame( container:* ) : void
{
container.removeAllElements();

var game_img_arrow1: MovieClip = (new Game_img_arrow1()) as MovieClip;
game_img_arrow.gotoAndPlay(0);
container.addChild(game_img_arrow1);

FAndES
13.01.2011, 07:59
public function StartGame( container:* ) : void
{
container.removeAllElements();

var game_img_arrow1: MovieClip = (new Game_img_arrow1()) as MovieClip;
game_img_arrow.gotoAndPlay(0);
container.addChild(game_img_arrow1);



Хм... а почему когда компилю, пишет
col: 13 Error: Access of undefined property game_img_arrow.

game_img_arrow.gotoAndPlay(0);
^

может я что-то не подключил?
import mx.controls.*;
import flash.display.*;
import flash.events.*;

Добавлено через 5 минут
2tsarapkabel:
Тоже не помогло: звук есть, мувика нет.

easy.proger
13.01.2011, 08:04
game_img_arrow1.gotoAndPlay(0);

FAndES
13.01.2011, 08:08
game_img_arrow1.gotoAndPlay(0);

Что-то я сразу на это внимания не обратил, но всё равно: звук есть, изображения нет.

Хомяк
13.01.2011, 08:45
что то не так в другом месте, в этом фрагменте кода все нормально