Java Universal tween Engine or ObjectAnimator for Android - android

I came to know about Java Universal Tween Engine after seeing the app. And the demo app produced some "wow" kind of Animations and also looked promising. But i haven't seen its docs. I read about ObjectAnimator and it is simple to use for common animations like Alpha, Linear, angular.
Please help me in choosing between "objectAnimator" or Java Universal Tween Engine for android App development as i have to do some complex Animations with better performance. And please share any known issues that you came cross while using Java Universal tween Engine.

Well, I won't be able to answer objectively since I made the Tween Engine, but I may provide some hints to let you choose.
Actually, ObjectAnimator may be more easy to use if you want to start directly with simple animations. It has decent performances and will work out-of-the-box.
The Tween Engine supports powerful things like sequences of multiple animations, speed control of the animations, repetitions, yoyo playing, callbacks and much more. However, the fact it is generic requires you to tell it how to access the attributes of your objects (their position, opacity, rotation, etc). The good thing is that you are able to animate every possible attribute of every possible object, not just Views and Drawables. Since the Tween Engine is "Universal", it can be reused to animate your other projects (games, UIs, etc) as long as they are written in Java (they don't have to be related to android). Therefore, the engine is "learn once, reuse anywhere". In fact, the engine is being ported to C# and C++, so you can really reuse it anywhere :)

Related

Android Canvas Animation and basic Physics

I would like to create a UI similar to the one that Apple created for their Music app. I am specifically talking about rounded shaped items that you can scroll to explore different types of songs.
There is a video here that will help:
https://www.youtube.com/watch?v=gr2dn6IAVzU
Apple has a very strong graphic API that makes this UI really easy to code. For instance you can use physics, etc
I am very new with Android. Does Canvas allows me to do the same thing ? do you have any recommendations ?
No, there's no UI tools like that, and definitely no built in physics engine like that on Android. You can probably find libraries, but it will all be custom code. And I wouldn't recommend Canvas for it, I'd go for OpenGL.
As an aside- that is the ugliest, most annoying UI I've seen in my life. I wouldn't use it if you paid me to. UI elements shouldn't bounce around and move, it provides no benefit and makes the app harder to use. Can you imagine using that if you had reduced vision, or motor control issues? Whoever made that should be fired. Its a great argument for making software be forced to comply to the ADA.

How to create Fluid motion in android

i need to render Fluid inside a bottle and when the device is rotated
Fluid dynamics isn't a simple topic. The simplest example of fluid flow is 2D, incompressible, irrotational, laminar flow. I'd start by looking into that.
You cannot do it in a week, you'll have to learn it.
You can learn from this java example http://www.jbox2d.org/liquid/ Unless your simulation is very small and 2D, you'll probably need to use a C/C++ library with the NDK to get any reasonable framerate.
Google did release a Physics library based on box2d (using NDK) for android. http://google.github.io/liquidfun/ This could be a good resource to get started but unless you understand Physics well, you won't be able to do much.

Interactive animations on Android

This may be a duplicate question, but none of the questions I found were exactly what I had in mind.
A friend and I want to create an App that lets the user play around with 3D objects on the screen. My friend is creating the objects and the animations in Blender or Maya. Therefore, the possible animations will be preset (not being programmatically animated). I have no experience in 3D programming and I naively suggested that he render the animations in Blender and send me all the frames. I would then play the appropriate animation by quickly running through all the frames. Each animation would leave the object in its original position so that it would be ready for the next animation.
Now that I've been thinking about it, that's a lot of images that I have to store in order to make this work. For every object, I would need to have all its frames for all of its animations, which maybe overkill.
Is there another way to play animations in an Android app? I considered just saving the animations as videos and playing them, but that would look horrible for our purpose.
I'd suggest min3D
Take a look at the animated troll example they have.
There are a lot of 3D libraries for Android. I would recommend AndEngine. Alternatively, you can just use the native OpenGL compatibility. Instead, ask him to send you the actual 3D files. Then you can use a library to render them.
EDIT: I just found this link. It'll probably help you. In my opinion, you should go through it and learn the whole package instead of just glancing a bit for this one little project; it'll help in the future.
Yes, there is a way you can manupulate the models you created in Blender. here is an example which uses Open GL in android to animate a 3D model created in Blender Check This Video Out. However it animates the object programatically, frame animation is indeed not worth if you wanna create animations that are long as you will run out of memory quick.

Android platform game level editor

I'm trying my hand at making a platform game and have been thinking about what I would use to design levels.
I was thinking of using a tile palette that would contain the graphic tiles and their properties. And a similar palette that would contain sprites.
This way I could drag and drop tiles/sprites onto a grid and specify property values. This could all be saved to some kind of file that would be read by the game.
Without getting too into the details, is this a sound overall strategy? Is there anything major that I'm forgetting? Or perhaps there's a better method?
This is a rather open-ended question, but I don't think there is anything wrong with your approach. You might have to try a few things to find out what works for you.
When I make platform games I find it useful to be able to edit levels while I'm playing them, by adding in code to the game which allows me to select a graphic tile from a palette and paint it onto the screen. The behaviour is usually linked to the graphic for my games but you could paint behaviour as well. You then need code for your game to save levels as well as load them. Obviously, you would probably want to remove the editor before releasing the game.
I don't know how much experience you have with game dev, but if you're thinking about making a tile-based platform game then your best bet is leveraging existing libraries/tools to avoid "re-inventing the wheel". I highly suggest looking into open source libraries/tools because you can modify them to your liking. I've had some good experience with libgdx and AndEngine in which case both have TMX support which is a file format that can be used in conjunction with Tiled map editor. I personally like libgdx because it has javadoc and very actively developed, and also that it's a framework rather than engine which gives you more flexibility (although more coding in some aspects).

How to create animations and user interfaces in android?

For example: Like the game bejeweled. At the beginning the gems are falling down. At the end, the gems are slowing down and stopping.
How i can do like this effects and animations? I mean, i want to give the animations to another class, and when the animations are completed, i will forwarded to the main class.
Is there a good library for this effects or animations in android. Or what is that called? Tweening?
I also want to make animated User Interfaces?
I'm programming with LIBGDX.
Thanks.
LibGDX has its own action API. See Actions of Actors in libgdx to learn more.
There is also a nice tween library which you can use with LibGDX. See Java universal tween engine.
I am not sure if this can help, but you could have a look at this open source framework which is a really good option to develop games in Android:
http://www.andengine.org/

Categories

Resources