|
|
|||||
Adobe Flash ошибка 2136
Error: Error #2136: SWF-файл file:///C|/Documents%20and%20Settings/Admin/Рабочий%20стол/Preloader/Preloader.swf содержит недопустимые данные. at Menu/addButtons() at Menu() at Game/frame2() at flash.display::MovieClip/gotoAndStop() at Game/goToMenuAndStop() at Function/http://adobe.com/AS3/2006/builtin::apply() at com.greensock.core::TweenCore/complete() at com.greensock::TweenLite/renderTime() at com.greensock.core::SimpleTimeline/renderTime() at com.greensock::TweenLite$/updateAll() Появляется когда вызывается функция добавления кнопок на сцену. Вот данная функция: function addButtons():void { var btnP:SimpleButton = new btnPlay(); var btnSL:SimpleButton = new btnSelectLevel(); var btnQ:SimpleButton = new btnQuit(); var btnMG:SimpleButton = new btnMoreGames(); var btnI:SimpleButton = new btnInstructions(); var btnE:SimpleButton = new btnEditors(); btnP.x = 275; btnP.y = 10; btnSL.x = 272; btnSL.y = 10; btnQ.x = 275; btnQ.y = 10; btnMG.x = 272; btnMG.y = 10; btnI.x = 272; btnI.y = 10; btnE.x = 275; btnE.y = 10; Game.gameLink.addChild(btnP); Game.gameLink.addChild(btnSL); Game.gameLink.addChild(btnQ); Game.gameLink.addChild(btnMG); Game.gameLink.addChild(btnI); Game.gameLink.addChild(btnE); addMovePlay(); function addMovePlay():void { TweenLite.to(btnP, 0.3, {x:180, y:170, ease:Elastic.easeOut, onComplete:addMoveSelectLevel}); } function addMoveSelectLevel():void { TweenLite.to(btnSL, 0.3, {x:235, y:170, ease:Elastic.easeOut, onComplete:addMoveMoreGames}); } function addMoveMoreGames():void { TweenLite.to(btnMG, 0.3, {x:270, y:170, ease:Elastic.easeOut, onComplete:addMoveInstructions}); } function addMoveInstructions():void { TweenLite.to(btnI, 0.3, {x:325, y:170, ease:Elastic.easeOut, onComplete:addMoveEditors}); } function addMoveEditors():void { TweenLite.to(btnE, 0.3, {x:385, y:170, ease:Elastic.easeOut, onComplete:addMoveQuit}); } function addMoveQuit():void { TweenLite.to(btnQ, 1, {x:280, y:217, ease:Elastic.easeOut}); } } Последний раз редактировалось iNils; 15.01.2012 в 13:21. |
|
|||||
Не помогло!((Может еще какие предположения есть!?
|
|
|||||
Хорошо! Попробуем!
Добавлено через 4 минуты Короче не в функциях дело! Как я понял, дело в объявлении переменных! Только не пойму, что может быть не так! Через аналогичную функцию в другом классе все норм добавляется! |
|
|||||
Новый код покажи а там поглядим.
Возможно дело НЕ ТОЛЬКО во вложенных функциях. Но трейсбек явно написал тебе что проблема связана с твином. А твины все были во вложенных функциях.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
function addButtons():void { var btnP:btnPlay = new btnPlay(); var btnSL:btnSelectLevel = new btnSelectLevel(); var btnQ:btnQuit = new btnQuit(); var btnMG:btnMoreGames = new btnMoreGames(); var btnI:btnInstructions = new btnInstructions(); var btnE:btnEditors = new btnEditors(); btnP.x = 275; btnP.y = 10; btnSL.x = 272; btnSL.y = 10; btnQ.x = 275; btnQ.y = 10; btnMG.x = 272; btnMG.y = 10; btnI.x = 272; btnI.y = 10; btnE.x = 275; btnE.y = 10; Game.gameLink.addChild(btnP); Game.gameLink.addChild(btnSL); Game.gameLink.addChild(btnQ); Game.gameLink.addChild(btnMG); Game.gameLink.addChild(btnI); Game.gameLink.addChild(btnE); } |
|
|||||
package { import Box2D.Dynamics.*; import Box2D.Common.Math.b2Vec2; import Box2D.Collision.b2AABB; import Box2D.Collision.Shapes.*; import flash.display.MovieClip; import flash.display.StageScaleMode; import flash.display.SimpleButton; import flash.display.Sprite; import flash.events.ProgressEvent; import flash.events.Event; import flash.events.MouseEvent; import flash.text.TextField; public class Menu extends MovieClip { //физический мир public var e:MouseEvent; public var btnP:SimpleButton = new btnPlay(); public var btnQ:SimpleButton = new btnQuit(); public var btnSL:SimpleButton = new btnSelectLevel(); public var btnMG:SimpleButton = new btnMoreGames(); public var btnI:SimpleButton = new btnInstructions(); public var btnE:SimpleButton = new btnEditors(); public var mcKey1:musicKey1 = new musicKey1(); public var mcKey2:musicKey2 = new musicKey2(); public var mcDynamic1:dynamic1 = new dynamic1(); public var mcDynamic2:dynamic2 = new dynamic2(); public var mc:box = new box(); public var m_world:b2World; public var m_iterations:int = 10; public var m_timeStep:Number = 1 / 30; public var m_physScale:Number = 30; public var xcoord = 1 / 30; public var ycoord = 1 / 30; public function Menu():void { //рамки физмира var worldAABB:b2AABB = new b2AABB(); worldAABB.lowerBound.Set(-1000.0, -1000.0); worldAABB.upperBound.Set(1000.0, 1000.0); //вектор гравитации var gravity:b2Vec2 = new b2Vec2(0.0,18.0); var doSleep:Boolean = true; m_world = new b2World(worldAABB,gravity,doSleep); //создаем статическую планку addFon(); addForm(); addMusicKey1(e); addDynamic1(e); addNazva(); addAllButtons(); addLetter(false); //запускаем обновление мира addEventListener(Event.ENTER_FRAME, Update); } //счетчик для частоты выпадения кирпичей var zt:int = 0; //частота выпадения кирпичей (больше - реже) var q:int = 10; //обновление мира function Update(e:Event) { //выпадаем кирпич if (zt > q) { zt = 0; addLetter(true); } //приращиваем счетчик выпадения кирпичей zt++; //"делаем шаг" физического мира - тут рассчитываются положения физических тел m_world.Step(m_timeStep, m_iterations); //пробегаем по всем физическим телам и двигаем их мувики на свои места //"их мувики" храним в пользовательских данных тела for (var bb:b2Body = m_world.m_bodyList; bb; bb = bb.m_next) { if (bb.m_userData is Sprite && ! bb.IsStatic()) { bb.m_userData.x = bb.GetPosition().x * m_physScale;//X bb.m_userData.y = bb.GetPosition().y * m_physScale;//Y bb.m_userData.rotation = bb.GetAngle() * (180/Math.PI);//поворот } //если тело за пределами экрана - убиваем его и его мувик if (bb.GetPosition().y > 14 && bb.m_userData is Sprite) { Game.gameLink.removeChild(bb.m_userData as Sprite); m_world.DestroyBody(bb); } } } //функция добавления кнопок управления игрой. function addAllButtons():void { } //функция добавления скрипичного ключа(1). function addMusicKey1(e:MouseEvent):void { trace("Работает 1"); mcKey1.x = 155; mcKey1.y = 270; Game.gameLink.addChild(mcKey1); } //функция добавления скрипичного ключа(2). function addMusicKey2(e:MouseEvent):void { trace("Работает 2"); Game.gameLink.removeChild(mcKey1); mcKey2.x = 155; mcKey2.y = 270; Game.gameLink.addChild(mcKey2); } //функция добавления динамика(1). function addDynamic1(e:MouseEvent):void { trace("Работает 1 дин"); mcDynamic1.x = 389; mcDynamic1.y = 270; Game.gameLink.addChild(mcDynamic1); } //функция добавления динамика(2). function addDynamic2(e:MouseEvent):void { trace("Работает 2 дин"); Game.gameLink.removeChild(mcDynamic1); mcDynamic2.x = 389; mcDynamic2.y = 270; Game.gameLink.addChild(mcDynamic2); } //функция добавления названия игры. function addNazva():void { var mc:nazva = new nazva(); mc.x = 272; mc.y = 172; Game.gameLink.addChild(mc); } //функция добавления фона function addFon():void { var mc:blackFon = new blackFon(); mc.x = 275; mc.y = 200; Game.gameLink.addChild(mc); } //функция добавления статического тела меню function addForm():void { var body:b2Body; var bodyDef:b2BodyDef = new b2BodyDef(); var boxDef:b2PolygonDef = new b2PolygonDef(); var mc:mainMenu = new mainMenu(); mc.x = 275; mc.y = 200; bodyDef.position.x = mc.x * xcoord; bodyDef.position.y = mc.y * ycoord; //создаем тело - прямоугольник. Физическое тело будет чутка меньше мувика - для реализьма. boxDef.SetAsBox((mc.width-2)/m_physScale/2, (mc.height-2)/m_physScale/2); //в пользовательские данные тела запихиваем мувик bodyDef.userData = mc; //создаем тело body = m_world.CreateBody(bodyDef); //придаем ему форму body.CreateShape(boxDef); //офизичиваем тело на основе данных о массе и форме body.SetMassFromShapes(); //для лучшего определения столкновений ставим true. Увлекаться этим параметром не рекомендуется - если тел много, будут тормоза body.SetBullet(true); //добавляем мувик тела на сцену Game.gameLink.addChild(mc); } //функция добавления мячика function addLetter(l:Boolean) { if (l) { //тело var body:b2Body; //определитель тела var bodyDef:b2BodyDef = new b2BodyDef(); //форма тела var boxDef:b2CircleDef = new b2CircleDef(); //мувик тела var mc:box = new box(); //и кладем определитель тела где-нибудь чуть выше верхнего предела экрана bodyDef.position.x = Math.random() * 10 + 4; bodyDef.position.y = -1; //если делаем кирпич - задаем плотность, трение, "прыгучесть" тела //не задаем, если - планка, в этом случае тело будет статическим boxDef.radius = 0.48; boxDef.density = 0.3; boxDef.friction = 0.5; boxDef.restitution = 0.7; //в пользовательские данные тела запихиваем мувик bodyDef.userData = mc; //создаем тело body = m_world.CreateBody(bodyDef); //придаем ему форму body.CreateShape(boxDef); //офизичиваем тело на основе данных о массе и форме body.SetMassFromShapes(); //для лучшего определения столкновений ставим true. Увлекаться этим параметром не рекомендуется - если тел много, будут тормоза body.SetBullet(true); //добавляем мувик тела на сцену Game.gameLink.addChild(mc); } } } } 1067: Неявное приведение значения типа btnQuit к несоответствующему типу flash.display:SimpleButton. 1067: Неявное приведение значения типа btnSelectLevel к несоответствующему типу flash.display:SimpleButton. 1067: Неявное приведение значения типа btnMoreGames к несоответствующему типу flash.display:SimpleButton. 1067: Неявное приведение значения типа btnInstructions к несоответствующему типу flash.display:SimpleButton. 1067: Неявное приведение значения типа btnEditors к несоответствующему типу flash.display:SimpleButton. |
Часовой пояс GMT +4, время: 02:47. |
|
« Предыдущая тема | Следующая тема » |
|
|