Jump to content

Search the Community

Showing results for tags 'as3'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • HTML5 Game Coding
    • News
    • Game Showcase
    • Facebook Instant Games
    • Web Gaming Standards
    • Coding and Game Design
    • Paid Promotion (Buy Banner)
  • Frameworks
    • Pixi.js
    • Phaser 3
    • Phaser 2
    • Babylon.js
    • Panda 2
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
    • GameMonetize
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered
    • Marketplace (Sell Apps, Websites, Games)

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 6 results

  1. Hi everyone, I'm trying to port an avatar editor made with AS3. The original app makes use of the gskinner Color Matrix class for adjusting brightness, contrast, saturation and hue of each part and stores those values in a DB. So imo I have two options here: 1. Port the class to js and try to use the stored values as they are. 2. Find an algorithm to transform those values to use them with PixiJS Color Matrix Filter directly. As I'm not very good at maths I've tried the 1st option so I ported the class to JS and tried to use it as the matrix for the color matrix filter. Saturation and hue seem ok but I cannot make brightness and contrast adjustments to look similar in as3 and pixi. I've been digging a bit and I've found that in the gskinner class, brightness and contrast are tweaked through the offset column while the color matrix filter in Pixi aren't. I've noticed as well the use of 'colorMatrix.frag' which is a WebGL shader impl but I don't know anything about them so I'm stuck. Do I need to implement a new custom matrix color filter or even a custom colorMatrix.frag (although I don't know anything about shaders as I said)? Any clues on option 2? Is there any other option I haven't take into account may be? Any help or directions would be very much appreciated. Thanks so much! You can see the ported matrix color code here (and I've attached the as3 code just in case): https://www.pixiplayground.com/#/edit/DIPYaphRukZ6rBqIRupVv as3-color-matrix-example.zip
  2. Hi, I have built a mini games app in Adobe Air (in iOS and Android). It features lots of swf animations and lots of games. Now since the future of Adobe Air is circumspect. I want to hedge my bets by rebuilding the games in another platform which has a better future outlook. I had a few questions: 1) Which platform is better for building an app- OpenFL or Phaser ? I found OpenFL online which seems to be the best way to port flash games into html5. 2) Can I have a multi platform app in which suppose 100 games are there - 50 made in Phaser and 50 made in OpenFL? 3) I had read in one website that Phaser is not good for resolutions above 600x400 px. Is this true? 4) Since we want to support all resolutions in Android and iOS- we need vector graphics (the core strength of AIR). Do Phaser/CoreFL support Vector? Thanks, Nish
  3. This is a casino slot game made with pixi.js with high score mode "summerslam" migrated from as3 - to - pixi.js => rendering is super fast http://redchilligame.com/assets/html_games/summerslam/summerslam
  4. Hello Phaser friends!, So i'm studying game dev and we only program in AS3 with Flash Develop, so i'm used to an IDE that auto completes everything and helps a lot. Now i downloaded Phaser, Sublime Text 2 and i'm ready to code. I need to know the main differences, for example. how do you extend a class, i'm used to make something like (sorry, it's long) So, i would really appreciate if you can stand out the main points!, i know it's an entire language and framework so i will try to follow more tutorials, but if you can explain the main differences i would really love it. Thanks! package game { import api.CAnim; import api.CBulletManager; import api.CEnemyManager; import api.CGame; import api.CGameObject; import api.CGenericEnemy; import api.CHelper; import api.CKeyPoll; import api.CMath; import api.CMouse; import flash.automation.MouseAutomationAction; import flash.display.MovieClip; import flash.events.KeyboardEvent; import flash.ui.Keyboard; import game.states.CLevelState; import game.states.CLoseState; public class CPlayer extends CGameObject { private var mMC:MovieClip; private var mState:int; private const STATE_STAND:int = 0; private const STATE_FREEZE:int = 2; private const STATE_JUMP_DYING:int = 3; // Lleva el tiempo del estado. En frames. private var mTimeState:int; private var mYFloor:int; private var mAnim:CAnim; private const WALK_SPEED:int = 10; private var mAngle:int = 0; private const ANG_SPEED:int = 5; private const SPEED_BULLET:int = 15; private const MAX_SPEED_SHIP:int = 5; private const INC_SPEED_SHIP:Number = 0.1; private var mSpeed:Number = 0.0; private const FRICTION:Number = 0.95; private const ACCELERATION:Number = 0.03; private var mAccel:Number = 0.0; private const MAX_ACCELERATION:Number = 0.5; public function CPlayer(aRadius:int) { setRadius(aRadius); mMC = new CAssets.SHIP as MovieClip; CGame.inst().getStage().addChild(mMC); mYFloor = 600 - aRadius; mAnim = new CAnim(); setX(400); setY(600 - 40); setFriction(FRICTION); setState(STATE_STAND); } override public function update():void { var enemy:CGenericEnemy; super.update(); mTimeState++; mAnim.update(); if (mState == STATE_STAND) { if (CKeyPoll.firstPress(CKeyPoll.SPACE) || CMouse.firstPress()) { fire(); } // MOUSE //lookAt(CMouse.getMouseX(), CMouse.getMouseY()); // TECLADO if (CKeyPoll.pressed(CKeyPoll.LEFT)) { setAngle(mAngle - ANG_SPEED); } else if (CKeyPoll.pressed(CKeyPoll.RIGHT)) { setAngle(mAngle + ANG_SPEED); } if (CKeyPoll.pressed(CKeyPoll.UP)) { mAccel += ACCELERATION; if (mAccel > MAX_ACCELERATION) { mAccel = MAX_ACCELERATION; } } else { mAccel = 0; } setAccelX(mAccel * Math.cos(CMath.degToRad(mAngle))); setAccelY(mAccel * Math.sin(CMath.degToRad(mAngle))); if (getY() < getRadius()) { setY(getRadius()); setVelY(0); } // Control de borde abajo. if (getY() > mYFloor) { setY(mYFloor); setVelY(0); } enemy = CEnemyManager.inst().collides(this) as CGenericEnemy; if (enemy != null) { hitByEnemy(); // TODO: Matar el enemigo. } } else if (mState == STATE_FREEZE) { if (mTimeState > 30) { setState(STATE_JUMP_DYING); } } else if (mState == STATE_JUMP_DYING) { setAngle(mAngle + 20); if (mTimeState > 60) { setState(STATE_STAND); //setDead(true); } } } override public function render():void { super.render(); mMC.gotoAndStop(mAnim.getCurrentFrame()); mMC.rotation = mAngle; mMC.x = getX(); mMC.y = getY(); } // Funcion invocada cuando un enemigo nos toca. public function hitByEnemy():void { if (mState == STATE_STAND /*|| mState == STATE_WALKING*/) { setState(STATE_FREEZE); } } private function setState(aState:int):void { mState = aState; mTimeState = 0; if (mState == STATE_STAND) { mAnim.init(1, 1, 0); setAngle(0); setX(400); setY(300); setVelX(0); setVelY(0); setAccelX(0); setAccelY(0); } else if (mState == STATE_FREEZE) { mAnim.init(14, 14, 0); setAngle(0); setVelX(0); setVelY(0); setAccelX(0); setAccelY(0); } else if (mState == STATE_JUMP_DYING) { mAnim.init(14, 14, 0); setAngle(0); setVelX(0); setVelY(-10); setAccelX(0); setAccelY(1); } } public function fire():void { var b:CPlayerBullet = new CPlayerBullet(0x000000, 10); b.setX( getX() + getRadius() * Math.cos(CMath.degToRad(mAngle))); b.setY( getY() + getRadius() * Math.sin(CMath.degToRad(mAngle))); b.setVelX( SPEED_BULLET * Math.cos(CMath.degToRad(mAngle))); b.setVelY( SPEED_BULLET * Math.sin(CMath.degToRad(mAngle))); b.setAccelX(0); b.setAccelY(0); b.render(); CBulletManager.inst().add(; } override public function destroy():void { super.destroy(); CHelper.removeDisplayObject(mMC); mMC = null; mAnim.destroy(); mAnim = null; } private function setAngle(aAngle:Number):void { mAngle = CMath.clampDeg(aAngle); } private function getAngle():Number { return mAngle; } private function lookAt(aX:Number, aY:Number):void { var y:Number = CMouse.getMouseY() - getY(); // cat. op. var x:Number = CMouse.getMouseX() - getX(); // cat. ady. setAngle(CMath.radToDeg(Math.atan2(y, x))); } }}
  5. Hi all, We are currently recruiting for a HTML5 developer in London,UK. The role will involve porting existing Flash slots games to HTML5, for mobile devices. Experience in development for mobile is essential for this role, and also a minimum 4 years experience of the following skills: ● JavaScript and/or similar language e,g, ActionScript ● Object Orientated approach to programming The following would also be highly beneficial: ● Familiarity with jQuery, and other popular javascript libararies ● Familiarity with an MVC framework ● Familiarity with HTML, CSS, XML, JSON ● Experience with Photoshop ● Knowledge of good client interface design ● Personal interest in gaming, and the gambling/gaming industry in general Please send me an email at "mburke at gameaccount.com" if interested.
  6. I write a lot of HTML5 games and my preferred language of choice is TypeScript. I love the compile-time errors, code-insight and debugging tools it provides. A large part of my work is porting over ActionScript3 code from Flash games. I found that I was going through the same motions over and over again; simple things like changing “Boolean” to “bool”, or rename the class function to “constructor”. It got to the point where I figured it would save time to write a script to help with the process. So I did, and I’ve released it for anyone else who may benefit from it. The script runs on a local web server and can convert either a single file or a whole directory full of them. It will intelligently deep-scan a folder structure, converting just the ActionScript files that it finds along the way. I’ve successfully run it across the whole of the flixel codebase with no issues, so I’m hopeful it’ll work for you. http://www.photonstorm.com/archives/9815/as3-to-typescript-conversion-script
  • Create New...