2014-01-13 2 views
0

Я начинаю использовать AS3 и as3isolib. Я пытаюсь добавить MC из библиотеки fla в объект isoGrid. Я попытался использовать метод addChild() класса IsoGrid, но он дал мне ошибку: 1067: Неявное принуждение значения типа [MovieClip Name] к несвязанному типу as3isolib.data:INode. Который, я думаю, хочет, чтобы я использовал класс node.Как подключить moiveClip к сетке as3isolib?

Любая идея, как это сделать?

Заранее спасибо.

ответ

1

as3isolib использовать его собственный display list как дерево рендеринга, добавить все узлы в этом дереве, должен реализовывать as3isolib.data:INode. Есть две возможности добавить флэш нативные экранных объектов в IsoScene:

Взгляните на этот небольшой учебник:

//create IsoView, IsoScene and IsoGrid - default from as3isolib 
    var view:IsoView = new IsoView(); 
    view.setSize(stage.stageWidth, stage.stageHeight); 
    addChild(view); 

    var scene:IsoScene = new IsoScene(); 
    view.addScene(scene); 

    var grid:IsoGrid = new IsoGrid({cellSize:32}); 
    grid.setGridSize(800, 600); 
    grid.stroke = new Stroke(0, 0x576F33); 
    grid.render(); 

    //create iso box, just for demo 
    var obj:IsoBox = new IsoBox(); 
    obj.setSize(32, 32, 64); 
    obj.moveTo(5*32, 5*32, 1); 

    //first possiblity to add flash.display.Shape to the iso scene - using IsoSprite.sprites 
    var isoSprite:IsoSprite = new IsoSprite(); 
    isoSprite.moveTo(5*32, 7*32, 1); 

    var shape1:Shape = new Shape(); 
    shape1.graphics.beginFill(0xFF0000, 1); 
    shape1.graphics.drawRect(0, 0, 32, 32); 
    isoSprite.sprites = [shape1]; 

    //second possiblity to add flash.display.Shape to the iso scene - using IsoDisplayObject.container 
    var isoObj:IsoDisplayObject = new IsoDisplayObject(); 
    isoObj.moveTo(7*32, 7*32, 1); 

    var shape2:Shape = new Shape(); 
    shape2.graphics.beginFill(0x0000FF, 1); 
    shape2.graphics.drawRect(0, 0, 32, 32); 
    isoObj.container.addChild(shape2); 

    //add all objects to the scene and render all 
    scene.addChild(grid); 
    scene.addChild(obj); 
    scene.addChild(isoSprite); 
    scene.addChild(isoObj); 
    scene.render(); 
+0

Это был ответ, который я ищу. большое спасибо мой друг ^^. –

Смежные вопросы