![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2012
Сообщений: 191
|
Здравствуйте! Вопрос теоретический... Мне очень интересно, чем отличается список Vector типа, от обычного Array массива? Какие он дает преимущества на практике и, вообще, зачем он? Спасибо!
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
http://ac-sc.ru/Vector.html
? Цитата:
|
|
|||||
|
Регистрация: Oct 2012
Сообщений: 191
|
И сразу же проблема...В обучающем видео все гладко и ошибок не выскакивает...перепроверял много раз! У меня же компилятор выдает следующие "1084: Syntax error: expecting identifier before lessthan." на код
Подскажите в чем дело? Спасибо
|
|
|||||
|
Регистрация: Oct 2012
Сообщений: 191
|
Цитата:
![]() package { import Box2D.Collision.b2AABB; import Box2D.Collision.b2Bound; import Box2D.Collision.Shapes.b2CircleDef; import Box2D.Collision.Shapes.b2PolygonDef; import Box2D.Common.Math.b2Vec2; import Box2D.Dynamics.b2Body; import Box2D.Dynamics.b2BodyDef; import Box2D.Dynamics.b2World; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.events.StatusEvent; /** * ... * @author vitamin4er */ public class BallsGame extends GameScreen { private var _world:b2World; private const RATIO:Number = 30; private var _sprites:Vector.<Sprite> = new Vector.<Sprite>(); private var _bodies:Vector.<b2Body> = new Vector.<b2Body>(); public function BallsGame() { box2dInit(); createWalls(); createRedCircle(randomInt(20,380),randomInt(20,430)); this.graphics.beginFill(0x00ff00,0.5); this.graphics.drawRect(0, 0, 400, 450); this.graphics.endFill(); addEventListener(MouseEvent.CLICK, onClick); start(); } private function randomInt(min:Number, max:Number):int { if (min > max) throw new Error("Ooops!"); var value:int = Math.random() * max; if (value < min) value = min + min * Math.random(); return value; } private function createRedCircle(x:Number,y:Number):void { var shapeDef:b2CircleDef = new b2CircleDef(); shapeDef.radius = 15 / RATIO; shapeDef.density = 1; shapeDef.friction = 0; shapeDef.restitution = 0.5; var bodyDef:b2BodyDef = new b2BodyDef(); bodyDef.position.Set(x / RATIO, y / RATIO); var body:b2Body = _world.CreateBody(bodyDef); body.CreateShape(shapeDef); body.SetMassFromShapes(); var sprite:Sprite = new RedBall(); sprite.x = x; sprite.y = y; addChild(sprite); _sprites.push(sprite); _bodies.push(body); } private function createWalls():void { createBox(200, -5, 200, 5); createBox(200, 455, 200, 5); createBox( -5, 225, 5, 225); createBox(405, 225, 5, 225); } private function createBox(x:Number, y:Number, w:Number, h:Number):void { var shapeDef:b2PolygonDef = new b2PolygonDef(); shapeDef.density = 0; shapeDef.restitution = 1; shapeDef.SetAsBox(w, h); var bodyDef:b2BodyDef = new b2BodyDef(); bodyDef.position.Set(x / RATIO, y / RATIO); var body:b2Body = _world.CreateBody(bodyDef); body.CreateShape(shapeDef); body.SetMassFromShapes(); var sprite:Sprite = new Sprite(); sprite.graphics.beginFill(0x000000, 1); sprite.graphics.drawRect(x - w, y - h, w * 2, h * 2); sprite.graphics.endFill(); addChild(sprite); } private function box2dInit():void { var aabb:b2AABB = new b2AABB(); aabb.lowerBound.Set( -1000/RATIO, -1000/RATIO); aabb.upperBound.Set(1000/RATIO, 1000/RATIO); var gravity:b2Vec2 = new b2Vec2(0, 0); _world = new b2World(aabb, gravity, false); trace(_world.GetBodyCount()); } private function onClick(e:MouseEvent):void { dispatchEvent(new StatusEvent(StatusEvent.STATUS, false, false, "", "gotoMenu")); } override public function start():void { addEventListener(Event.ENTER_FRAME, onLive); } override public function stop():void { removeEventListener(Event.ENTER_FRAME, onLive); } private function onLive(e:Event):void { _world.Step(1 / 60, 10); for (var i:int = 0; i < _sprites.length; i++) { _sprites[i].x = _bodies[i].GetPosition().x * RATIO; _sprites[i].y = _bodies[i].GetPosition().y * RATIO; } } } } |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
В чем пишете, чем компилируете?
|
|
|||||
|
Регистрация: Oct 2012
Сообщений: 191
|
Заменил все на это дело на Array...и оооо чудо! Все работает...
П.С. Устанавливал по многим "гайдам", было много ошибок и недопониманий, так что боюсь все на соплях держится! Пишу в FlashDevelop + устанавливал SDK (так и не понял зачем он)...затем скачал flashplayer_10_sa_debug.exe и где-то в настройках девелопа проводил к этому ексу путь...(затем еще проводил путь к adobe flash)... |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Project->Properties->SDK
Что в Installed SDK и что в Custop SDK? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вы уверены, что компилите не под девятый плеер? Вектор только в десятке появился.
"Зачем SDK" — чтобы компилить проекты без использования Flash IDE, быстро и бесплатно.. В меню создания нового проекта выберите не "Flash IDE project", а просто "AS 3.0 project" (первый во второй колонке). И я бы на Вашем месте переустановил ФД "из коробки", не особо фантазируя по гайдам, большинство из которых писаны про более ранние версии ФД.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|