Code Monkey home page Code Monkey logo

flambe's People

Contributors

aduros avatar afraticellifidel avatar alamboley avatar anissen avatar antriel avatar jgranick avatar jona85 avatar markknol avatar nadako avatar noxharmonium avatar pekuja avatar purplepwny avatar s2quinn avatar smvilar avatar volkipp avatar workinkeith avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flambe's Issues

WebGL renderer

This should be straightforward, but only worth doing once WebGL becomes more available on mobile. Consider adding GLSL support to HxSL and reusing the shaders in flambe.platform.shader.

Windows 8 support

Pending me playing around with a Surface when they come out :) From the looks of the WinJS API, it should be dead simple to modify the HTML target to work in a packaged Windows 8 app.

IE10 on Windows 8 also needs to be properly tested.

Two Flash develop project

Hi!
It seems there's two Flashdevelop project templates now in flambe-FlashDevelop.fdz:
380 HaXe - Flambe Project
401 HaXe - Flambe Project

It seems to me that the second one is not working....

Sprite.getBounds

Which should recurse through all children and calculate a bounding box in local coordinates.

Better IDE support

Flambe uses a non-standard build system, which probably won't work out of the box in IDEs. Ideally support could include Flash/MonoDevelop, Intellij and FDT. Since I do all my Haxing in vim, I could use some help from others more familiar with these IDEs.

Should include:

  • Simple waf integration for debug and release builds
  • Making sure code completion works
  • Template for new project wizards

Julien Beaufils has written a plugin for FlashDevelop: http://la-digitale.com/flambe/flambe-waf.fdz. Looks pretty solid from my quick testing, this might be something that could be merged in or used as a base for other plugins.

Add more easing equations

A few more easing functions in flambe.animation.Easing would be useful, especially bounce/elastic-type easings.

Flambe Could not find 'closure.jar'

I'm trying to use Flambe with Haxe in FlashDevelop, and when building I get an error:

Could not find 'closure.jar'

Anyone any idea why this is?

Image: http://i.stack.imgur.com/ggXbz.png

My Haxe is properly installed, and I followed the installation thingy for Flambe from the wiki:

haxelib install flambe
haxelib run flambe setup
It detected my FlashDevelop and I made a new project using the template. I'm trying to build that new project, without modifications.

(You can get the log file here: https://dl.dropbox.com/u/10448192/MTG%20Web/Flambe/build/config_stackoverflow.log )

Edit: I have Python 2.7, can that be a problem?

Thanks a lot!

-P

iPad 3 performance

HTML5 performance on the iPad 3 is a lot worse than other iOS devices. Especially in landscape mode. I think this is to do with Flambe's trick to render to devices pixels, plus the massive retina display. The canvas might be so large that Safari refuses to GPU accelerate it.

Rectangle clipping

DrawingContext should have a way to set the current clipping rectangle.

The easiest thing to do would be having DrawingContext.applyClip take a rectangle in local coordinates and apply it to the current clip rectangle. This would be trivial to implement in canvas. Stage3D should use setScissorRectangle, which needs to be converted to screen coordinates. It should probably throw an error if that rectangle isn't axis-aligned (due to a previously applied rotation).

Then add Sprite.clipRect, with a giant warning that support for rotated clip rectangles vary between platforms.

Native text fields

It would be great to have an API for allowing "native" text input. On HTML, this would be implemented by overlaying a backgroundless <input> tag over the canvas. In Flash/AIR, a TextField or NativeText would be overlayed on the stage.

It should be possible to hint the type of input (text, email, number, password, etc) and adjust settings like autocompletion, autocorrect, autocapitalization...

One sticky point would be how fonts should be handled.

Haxe 2.11 migration

Verify that Flambe works in 2.11 when it's stable, and take advantage of the new features like static imports.

wafl not correctly installed

After "haxelib install flambe" and "sudo haxelib run flambe setup", "/usr/bin/wafl" is installed without execution permissions, at least on Mac OSX 10.6, Haxe 2.10 RC

Stage3D compressed textures

It would be neat if Flambe supported ATF textures now that there are tools to create them.

  1. DONE: Change asset loading to conditionally load alternate image formats, just like audio.
  2. DONE: AssetPack.loadTexture should be changed to not include the file extension, also like audio. This will be a huge breaking change, so compatibility and a warning when using the old form would be nice.
  3. Making sure HxSL supports compressed alpha textures.

Asset download retrying

Asset pack loading should retry a couple times after a failed download, which appears to happen on really flakey connections.

System.touch

Add Touch which adds finer control than Pointer for multi-touch screens.

Switch deltaTime to seconds?

Currently update() methods receive a milliseconds value as an int. A seconds value as a float would be more API consistent and allow for sub-millisecond precision.

Physics demo broken in HTML

Not sure what happened there, collisions no longer work. I've tried rolling back to old versions of Nape, Flambe and Haxe with no luck.

FAQ on the wiki

The wiki could use an introductory FAQ and for troubleshooting common errors.

Firefox IndexSizeError for flambe.platform.html.CanvasDrawingContext.DrawSubImage

In firefox., but not in Chrome:

I am getting an IndexSizeError in the drawSubImage function in the flambe.platform.html.CanvasDrawingContext prototype declaration

Here is what the console is showing:

IndexSizeError: Index or size is negative or greater than the allowed amount
Line 4865

Which links to this snippet of code:

,drawSubImage: function(texture,destX,destY,sourceX,sourceY,sourceW,sourceH) {
var htmlTexture = texture;
this._canvasCtx.drawImage(htmlTexture.image,Std"int",Std"int",Std"int",Std"int",Std"int",Std"int",Std"int",Std"int");
}

May be property watch has some error.

sprite.scaleX.watch(function(before, after) { trace("change---------------"+before+"_"+ after); } );

//script.run(new Parallel([new AnimateTo(sprite.scaleY, 2, 1, Easing.backIn),new AnimateTo(sprite.scaleX, 2, 1, Easing.backIn)]));//work , trace every change

  script.run(new AnimateTo(sprite.scaleY, 2, 1, Easing.backIn));//not work ,just get only one trace.

May be property watch has some error. or that 's right?

Web views

AIR has an easy way to show an inline browser window, and the HTML target can use iframes layed over the canvas.
Probably not worth going after on the browser Flash target.

One big use-case for this is showing ads.

Implement stage.quality

Really we just need two options: normal and low. Low would turn off anti-aliasing and texture filtering to make retro 8-bit games look nice.

Render to texture

It should be possible to create a Texture that can be used as a DrawingContext target.

Font kerning

The BMFont format apparently supports kerning pairs, though I haven't been able to get any tool to export them.

Audio API support

Look into supporting Audio API for iOS6, possibly replacing HTML5 audio which has a slew of issues.

embedder not working correctly

  1. Create an empty project
  2. wafl configure --debug
  3. wafl install
  4. python -m SimpleHTTPServer in deploy/web
  5. Go to localhost:8000
  6. You'll see the Flash version of your project (white canvas)
  7. Clicking on "Flash" or "HTML5" below will get you only a black rectangle (nothing is inserted on the < div id="content" >). No errors on console

Tried with haxe 2.10 (a working revision before RC, with flambe working, and 4974 from a few hours ago), Mac OSX 10.6 and Windows 7.

I hope this is not something stupid I've done, but I don't think so (empty project and all that).

System.mouse

Add Mouse which adds finer control than Pointer for mice. Right mouse button, wheel scrolling...

air build error.

I try to build air version ,but throw some error like this:

Waf: Leaving directory `D:\GitHub\flambe-demos\piratemark\build'
Build failed
-> task in 'main-android.apk' failed (exit status 1):
{task 38162736: main-android.apk main-air.swf -> main-android.apk}
' "C:\Program Files\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0\bin" -package -target apk-debug -storetype pkcs12 -keystore "D:\GitHub\flambe-demos\piratemark\etc\air-cert.pfx" -storepass "samplePassword" "main-android.apk" "D:\GitHub\flambe-demos\piratemark\etc\air-desc.xml" main-air.swf -C "D:\GitHub\flambe-demos\piratemark" "assets\bootstrap\pirate.png" "assets\bootstrap\tinyfont.fnt" "assets\bootstrap\tinyfont.png" '
Build halted with errors.

Flash embedded assets

Flash assets are loaded over HTTP, since this is better for large games that are regularly updated (an updated asset only requires that one asset be re-downloaded, instead of the entire game) and for parity with HTML.

It would be cool if there was an option to package all Flash assets into a single SWF that could be distributed to Flash game portals more easily.

Steps to make this happen:

  1. Dust off the old Flash AssetPackager tool: https://github.com/aduros/flambe/blob/9ee975596a8d00aeb0b75d36b4c957c326dce41b/tools/packager/src/AssetPackager.hx
  2. Modify flambe.py to optionally use it, and pass the asset swf as a -swf-lib.
  3. Create FlashEmbeddedAssetPackLoader that loads symbols from the lib instead of over HTTP.

For now, it's possible to build with asset_base="http://your-cdn.com/assets" to host the assets yourself, if you're ok with footing the bandwidth.

Layout containers

Not having to manually layout sprites would be amazing. I think HBox and VBox layouts would be good enough 90% of the time, and remain fairly simple.

I don't intend to write a huge sprawling GUI toolkit. But anyone interested might want to take a look at porting something like Feathers for Starling. Maybe with widgets skinnable with Flump?

compile error!

cmd: cmd /c wafl --flashdevelop=debug -j1 configure install 2>&1
C:\Motion-Twin\haxe\wafl.py:14: Warning: 'with' will become a reserved keyword in Python 2.6
File "C:\Motion-Twin\haxe\wafl.py", line 14
with open(join(env["HOME"], ".haxelib")) as f:
^
my python version is 2.5.2,
how to fixed this error? thank you

Prevent long updates after unpausing

Games may be suspended (no updates) when put into a background tab. When coming back into the foreground, the calculated deltaTime can be absurdly high, which tends to mess up animation and game logic.

We could clamp deltaTimes to a reasonable limit, but the better thing to do would be to throw away the first update after coming back from a suspend. Which depends on #6.

Fullscreen API

Add something like this to Stage:

// The current fullscreen state
var fullscreen (default,null) :Value<Bool>;

// Preference on whether to go full screen on user interaction, defaults to true on mobile web
var fullscreenOnSelection :Bool;

// Manually request fullscreen on or off
function requestFullscreen (on :Bool = true) :Void;

Scene transitions

Transition animations between scenes (slide, fade, etc) are planned.

Easier developer setup

I've got plans to make it a lot easier to get up and running, especially on Windows:

  • waf should be bundled with Flambe so users don't have to install it.
  • The bundled waf should include Flambe's tools, so the snippet to locate the haxelib path in wscripts will no longer be necessary.
  • A haxelib run.n script that copies flambe-waf* into your Haxe path, and maybe installs Python and any optional dependencies.
  • A flambe-waf.bat that tries to locate Python using the Windows registry? https://code.google.com/p/waf/issues/detail?id=964

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.