![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2010
Сообщений: 9
|
Доброе утро.Я начинаюнающий.Занимаюсь игрушкамиДо этого програмировал на actionscript 3.0 в adobe flash cs4.Тут приспичило попробовать сделать Monster Truck игрушку.Поспрашивал почитал,напрвили меня на движок FisixEngine_Alpha_0.5 fisixengine.com.По ходу нашел еще похожий двиг ape.Посмотрел ,по примеру сделал вот такое во flex
package { import flash.display.MovieClip; import flash.display.Sprite; import com.fileitup.fisixengine.collisions.ReactionModes; import com.fileitup.fisixengine.core.FisixEngine; import com.fileitup.fisixengine.core.FisixObject; //import com.fileitup.fisixengine.core.Vector; import com.fileitup.fisixengine.resources.FractalTerrain; import Car; import com.fileitup.fisixengine.primitives.Surface; import flash.events.Event; import flash.events.KeyboardEvent; import flash.ui.Keyboard; //[SWF(width='600',height='400',backgroundColor='0xFFFFFF',frameRate='30')] public class Project extends Sprite { private var engine:FisixEngine; private var car:Car; public function Project() { engine = new FisixEngine; engine.setReactionMode(ReactionModes.PHYSICAL); var walls:FisixObject = engine.newFisixObject(); walls.makeStatic(); walls.newSurface(new com.fileitup.fisixengine.core.Vector(0,0),new com.fileitup.fisixengine.core.Vector(0,400),5); walls.newSurface(new com.fileitup.fisixengine.core.Vector(0,400),new com.fileitup.fisixengine.core.Vector(550,400),5); walls.newSurface(new com.fileitup.fisixengine.core.Vector(550,400),new com.fileitup.fisixengine.core.Vector(550,0),5); walls.newSurface(new com.fileitup.fisixengine.core.Vector(550,0),new com.fileitup.fisixengine.core.Vector(0,0),5); walls.friction = 0.7; walls.bounce = 0.5; var terrain:FractalTerrain = new FractalTerrain(new com.fileitup.fisixengine.core.Vector(30,200),new com.fileitup.fisixengine.core.Vector(500,200),-40 ,2 ,2); terrain.setFriction(0); engine.addObject(terrain); car = new Car(60, 60); engine.addObject(car); engine.setRender(true); engine.setRenderGraphics(graphics); addEventListener(Event.ENTER_FRAME, enterFrames); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDowns); stage.addEventListener(KeyboardEvent.KEY_UP, keyUps); } private function enterFrames(e:Event):void { engine.mainLoop(1); } private function keyDowns(e:KeyboardEvent):void { if(e.keyCode == Keyboard.RIGHT) car.drive(5); else if (e.keyCode == Keyboard.LEFT) car.drive(-5); } private function keyUps(e:KeyboardEvent):void { car.drive(0); } } } package { import com.fileitup.fisixengine.core.FisixObject; import com.fileitup.fisixengine.particles.WheelParticle; public class Car extends FisixObject { private var wheel:WheelParticle; private var wheel2:WheelParticle; public function Car(_x:Number, _y:Number) { wheel = new WheelParticle(-40, 0, 30); wheel2 = new WheelParticle(40, 0, 30); addObject(wheel); addObject(wheel2); newStickConstraint(wheel, wheel2); setCenter(_x, _y); } public function drive(speed:Number):void { wheel.rotateWheel(speed); wheel2.rotateWheel(speed); } } } неговоря уже...Вопрос такой кто нибудь может примерчик показать как тут графику рисовать,хотябы колесо из библиотеки воткнуть вместо этих кружков А дальше уж как нибудь дальше буду пробовать разбираться.Желательно конечно чтоб рисовать все это дело во fla файле.Спасибо.И сразу извиняюсь если тему не там создал.А то у меня тут такой вопрос ,что я сам толкорм не пойму куда правелно его написать.Или может быть кто посоветует другой способ как делать такого рода игры,более простой и эффективный.Последний раз редактировалось Stexx; 09.08.2010 в 12:26. |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 211
|
Согласен с alatar.
Тут еще есть "нюанс": fla-файл - удел исключительно продуктов Macromedia/Adobe Flash MX/CSx - Уже рамки и обязательная легальность продукта. Если отказаться от fla, то работать можно уже и с бесплатными продуктами (компиляторами), и во флексе. Так что преимущества очевидны. Кстати, глядя на форумы, чем дальше, тем меньше людей работают в родной флешевской среде от Адоба, предпочитая им продукты сторонних производителей. |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 9
|
Ну я код пишу во флаш девелоп в нем удобней чем flash cs4 а рисую во fla файлах,я просто по дугрому то и не умею пока
Ребят а можно примерчик как правельно сделать ембед в данном случае например того же колеса,я тут сижу и так и сяк нарисовал колесо,скомилировал файл Koleso.swf ?дале в car as пытаюсь ее загнатьpackage { import com.fileitup.fisixengine.core.FisixObject; import com.fileitup.fisixengine.particles.WheelParticle; import flash.display.MovieClip; public class Car extends FisixObject {[Embed(source="Koleso.swf")] private var KolesoSWF:Class; private var wheel:WheelParticle; private var wheel2:WheelParticle; public function Car(_x:Number, _y:Number,mainMovie:MovieClip) { wheel = new WheelParticle(-60, 0, 30); wheel2 = new WheelParticle(60, 0, 30); addObject(wheel); addObject(wheel2); newStickConstraint(wheel, wheel2); var wheelMC1:MovieClip = new KolesoSWF(); mainMovie.addChild(wheelMC1); wheelMC1.width = wheel.radius*2; wheelMC1.height = wheel.radius*2; //create a wheel attacher to connect the MC to the left wheel newWheelAttacher(wheelMC1,wheel) setCenter(_x, _y); } public function drive(speed:Number):void { wheel.rotateWheel(speed); wheel2.rotateWheel(speed); } } } ![]() |
|
|||||
|
Зачем swf? Я же писал swc. swc подключается к проекту как библиотека, у вас в проекте становятся доступны все классы из библиотеки у которых linkage был проставлен + автокомплит работает в большинстве редакторов.
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 9
|
Упс извиняюсь.Не правельно глянул.Ок ,ну вот я соеденил свой фла с проектом через ,ы в настройках publish setting fla файла я поставил source path с движка и патч библиотеки swc файл тоже сдвижка.И скажем если я создаю в своем фла файле обект делаю ему линкаге для акшн то его клас прекрасно виден например пишу в основном проекте var wheelMC1:MovieClip = new kol2(); где kol2 это мое колесо которое я експортировал для акшн скрипт ,затем я делаю трейс trace(wheelMC1); все в порядке обект виден,но вот как дальше привязать к колесу графическому с движка его wheel ?addChild не работает.Вобщем запутался.Извиняюсь.
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 9
|
Ясно хорошо ,еще раз спасибо,буду разбираться.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|