Comments (4)
I should add that this is version 0.9.0, but after checking it appears 0.8.0 has the same issue.
from crafty.
Hmm, definitely seems like a bug. If it occurs in WebGL and Canvas layers, but not DOM, and only for rotated entities, I bet it's an error determining whether the entity falls within the viewport.
I could imagine it being some sort of rounding error due to the rotation by -90
, but in that case I'm not sure why it would only happen in a single row, instead of all of them.
Do you have a fiddle/etc that reproduces the behavior? What environment (browser+OS) are you seeing it on?
from crafty.
It's possible that this will be fixed by the changes in #1202 -- changing the origin of an already-rotated entity was not updating some calculated properties correctly.
In particular, the position of the entity in the broad phase map was not updating correctly, and that's used for selecting which entities to render. (For Canvas and WebGL, but not DOM layers.)
from crafty.
I've reproduced the issue in the release
branch, and confirmed it is now fixed in the develop branch. So it does seem like setting the origin after the rotation was the source of the problem -- not sure why that specific row was affected, but likely related to some quirk of how the rotated coordinates are rounded.
You can grab the most recent develop build of Crafty here. A workaround when using 0.9 would be to specify the origin before setting the rotation property.
Thanks for the report!
from crafty.
Related Issues (20)
- Support typescript definitions
- Update documentation for using Crafty as a module HOT 10
- [NodeJS] `Crafty.init is not a function.` HOT 5
- Collision does not work for rotated entities with updated origin HOT 7
- Player Entity gets Stuck on Walls, Walls have slight gap on one side HOT 2
- Crafty wont display in Electron HOT 6
- [Enhancement] Crafty.attr({}) function? HOT 3
- Change 'each' function scope to first argument HOT 4
- [Electron] Violations of non-passive listener HOT 1
- Maximum call stack exceeded
- How to import CraftyJS to js file HOT 1
- CraftyJS in TypeScript HOT 1
- When using canvas to display pictures, the edges of pictures are blurred HOT 1
- Scaled viewport is not centered correctly
- Newlines don't work with Canvas rendering HOT 5
- movements on keys events aren't smooth
- What is the state of Crafty in 2021? (Is it abandoned?) HOT 3
- player.x.toFixed(0);
- Crafty
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crafty.