Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

getBounds returns unexpected result after caching with a non-1 scale #1064

Open
onedrop opened this issue Jul 20, 2021 · 2 comments
Open

getBounds returns unexpected result after caching with a non-1 scale #1064

onedrop opened this issue Jul 20, 2021 · 2 comments

Comments

@onedrop
Copy link

onedrop commented Jul 20, 2021

If you call cache() on a MovieClip and provide a non-1 value for the scale parameter, you will get an unexpected result when retrieving its bounds afterwards via getBounds(). The resulting width and height of the bounds object seem to be incorrectly divided by the scale the clip was cached at.

See barebones example here...
https://jsbin.com/kazoreseri/edit?html,output

  • the easeljs and tweenjs libs in this example were built from the latest source
  • asset.js is a single frame movieclip i published from adobe animate 2021

@danzen @lannymcnie

@onedrop onedrop changed the title getBounds returns unexpected result when a non-1 scale is provided getBounds returns unexpected result after caching with a non-1 scale Jul 20, 2021
@danzen
Copy link
Contributor

danzen commented Jul 21, 2021

Thanks for reporting @onedrop. Looking into it.

@danzen
Copy link
Contributor

danzen commented Oct 13, 2021

Sorry @onedrop - lost this thread.

When I set the bounds before caching it works fine. I am really not sure where the bounds are coming from in the first place. It has been my experience with Animate that movieclips do not have bounds set - or at least I have always had to manually set them. For instance, if I put a circle MovieClip on the stage and ask for getBounds() it returns null for me. So why did your Rectangle think it had bounds? What did you do differently?

var clip = new lib.myclip();
clip.setBounds(0,0,111,111);
stage.addChild(clip);
var bounds = clip.getBounds();
console.log('bounds before caching', bounds);
clip.cache(bounds.x, bounds.y, bounds.width, bounds.height, 2);
console.log('bounds after caching', clip.getBounds());
console.log(clip.bitmapCache);

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants