luxeengine / alpha Goto Github PK
View Code? Open in Web Editor NEWalpha - deprecated 2015~2016. unrelated to the new engine! view the new engine here - https://luxeengine.com/
License: MIT License
alpha - deprecated 2015~2016. unrelated to the new engine! view the new engine here - https://luxeengine.com/
License: MIT License
Sprite.rotation = degrees;
Camera matrix is generated with the correct rotation but it needs to be translated to -origin before that is applied so that it can rotate "in place" and not around 0,0
For common vendors (xbox one, 360, ps3, ps4)
Implement lime layer
Test, and verify these.
While testing the render texture example of mobile I found that the camera code has no setters or getters for size and is doing redundant work like regenerating the projection every frame instead of only when it actually changes.
This shouldn't be such an obscure error.
verts:Array<Float>
will export as :Array
instead, need to parse and export type parameters
Keep consistency between the function names
It seems the particles are freaking out (tests/test_particles) and are spinning wildly with the incorrect origin, and worse when opening the debug console onto the stats page there is a peculiar crash SO.
Particles need to be reorganized slightly with fixes and additions I made to openfl-simple-particles and then made sure to be stable again since migrating to the new Entity code.
Input/gamepads
drawing api
color
tweening
events / signals
sprites
sprite animation
assets
state machines
audio
textures / render textures
shaders
depth / groups / blend modes
cameras
fonts
collision
tilemaps
physics
Preferably an option somewhere.
And fix the bugs in hxcollision while at it - and add the raycasting while at it.
It should be possible to hot swap sprite geometry but right now that fails to rebind the colors (and possibly more) to the new geometry.
Maybe :
There is a note here :
Sprite is the controlling party - basically anything set on the geometry prior to the sprite, will be overridden by the sprite on assignment or handing in the constructor. This goes for color, depth, texture, shaders, etc.
That means :
var geom = ...
geom.depth = 0;
var sprite = new Sprite( {geometry:geom, depth:1 } );
//geom.depth is now 1, not 0 because it's owner takes precedence
Also note that the geometry you pass in is not added to a batcher by the sprite, it assumes you have or will add it (draw
does this for you) but if you manually make geometry you are always expected to add it to a batcher anyway, so the sprite will not attempt to re add it.
draw
automatically adds to the default (or specified) batcherUsually I prefer to manage this but having a simple built in effect queue with in/out would be a win.
Events exist but are not tied to anything, they are empty.
It should work based on values from the JSON, and have an api to add/remove/clear/call etc.
Importing sprite animations from json is possible but requires custom json to best support luxe features.
But, there should be format interchange from existing formats, like TexturePacker.
What other animation software exports a data file that can be supported?
Setting sprite.color propagates to sprite.geometry.color, but getting sprite.color does not return sprite.geometry color. Thus they sometimes act as the same value, and sometimes they don't.
This means that only sprite.geometry.color will change if sprite.geometry.color is written, but both colors will be changed if sprite.color is written. Doesn't really make sense.
Make it possible to use animation without a sprite sheet
Drawing ellipses is useful.
It should include the start/end angle
Errors when attempting to load textures in cross domain should fallback better
Sometimes when adding components to an entity, the init() method is never called. It does not happen randomly, yet it's hard to reproduce. Has only ever happened to component classes which inherit multiple user-defined class levels, so it could be related to inheritance.
Moving the init() overload down to the lowest level class (which only extends Component) yields the same result, the init method is never called.
Entities don't have a destroy()-method visible in the docs, but there is a _destroy()-method available in the entity code. Calling this will however cause the engine to throw errors (tested in HTML5).
It would be great if it was possible to properly destroy entities through a class method.
Look into GTween and it's proxies
Implemented :
Still to add :
Encodings?
json
xml
gzip xml
Other data :
background color
version
Sometimes the value is different, so far confirmed different on Italian.
There's too many dlls next to the exe when building! It's nice to have one exe. Click -> play.
yep...
To be able to hold on individual frames
"like 1, 3, 4, hold 10, 2"
Yes
Allow the user to check if buttons or inputs are pressed, held or released through static input methods. Would make it possible to place input dependant code in components only, rather than having to propagate them from the main class.
It's accumulating (visible by pressing console -> 1 -> 2 (stats with debug geometry counts) -> 1 (enable profiler view) -> 1 (log) -> 1 (stats, note total geometry count is increased, continues to increase with each view of the profiler)
Currently :
8 sets are stored (uv0 - uv7).
Only uv0 is sent to the GPU when batching currently in the VBO's.
This is more relevant in 3D, hence the 1.x
Rather than having setting individual frames in frameset it would be useful to be able to set a range
(specified in image space,not texels)
Sprite.uv = new Rectangle(0,0,32,32);
that passes keys in a code in a code complete friendly way, and forwards the raw event from the platform in .raw as well.
The api is supposed to handle all the translations for you from world -> tiles and tiles -> world and scaling between them. There are some questions regarding the offsets when drawing isometric, but I think I know how to solve that (using options.offset_x and options.offset_y as center/left/right/top/bottom like with the tile coord conversions).
Create
Display
Edit
Translate
Considering
Hexagonal maps are a tiny step away from being supported as well, may be worth the effort quick.
Other notes
Right now all tiles are created as distinct geometries which is perfectly fine (batching is always applied anyway) but at a later stage adding options like the complex geometry version in the old test would be good.
Merge them!
@grapefrukt are they ready yet?
Such that items (like transparent glow items) can be marked as not selectable, and not interfere with working in the scene view.
To open the url on the server
For example, instead of removing 20 listeners in the menu, just kill all connections in one go
events.clear_listeners or something.
For example, Geometry has a lot of parameters, and Sprite are all created by json like syntax. If this was a typedef it's possible to get code hinting ( i think ) so typing them would be great (and @optional can be used where needed, giving compile time errors for exact required values)
No need for Dynamic here, when it can be typed smartly
Haven't needed or tested this yet (but implementing it is quick and easy).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.