![]() |
|
||||||||||
|
|||||
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, время: 01:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|