How to stop objects from flipping when using animations with a camera? Scene & Logic

For example, we have two objects: the animation object (anim_obj) and our camera object (camera). Object camera is the parent of anim_obj.



The following is the logic setup of anim_obj:



Always (skip: 1) > And > Action (Property = prop)



The following is the logic of camera:



Mouse (movement, skip: 1) > And > Mouse (Look)



The following is our scene visualized:





Now, the animation. The animation of anim_obj simply rotates the object on the Y axis 20 degrees over 100 frames. The property prop of anim_obj is for experimental purposes.



Problem

Lets set prop to 50. This means that, on start, anim_obj should be rotated along the Y axis 10 degrees. On start, this is exactly what we see (keep in mind we are not starting the scene from the camera). Now, when we move our mouse to any extent, we see anim_obj move as its parent is camera, which is rotating. The problem is anim_obj itself. For some odd reason, when I move my mouse and camera starts to move, the object starts "stuttering." See for yourself:



A closer look:



As you can see, anim_obj is moving erraticly. I have absolutely no idea why this is happening. If we use motion instead of action to rotate, it will work fine. It seems that animations themselves cause this issue.



.blend

If anyone needs, here is the .blend I used for the example:
This is occurs due to use of properties inside action. If you use integer or float property inside action then it take property value as frame number.
Your animation start from 0 and end to 100 with 45 degree Y-axis rotation. 

So When you put property value as 50, its take position of your cube animation from frame number 50. If you want to check this then use also 0 and 100 as property value. You also can check with any number you want between 0 to 100(limit of your frame animation). If you will use value above on 100 then its automatically take last frame of animation as property value.

Your cube movement erotic with mouse because You set properties inside to action so it set given property value between your frame animation as frame animation value( In starting it use original animation frame and in between your cube animation it set given property value and again use frame animation and so rotate cube).

In motion you can not use property so its play your original animation with frame animation, So there is no middle value to change position of cube therefore  in motion Actuator your cube animation play without erotic movement.

And one more thing is. I think it check/update property to every pixel so when you move mouse it play your prop given value from frame animation(with object position change).

** Edited **

First thing -> What do you want to do.
 1) Move cube when mouse move without cube animation. 
 2) Move cube when mouse move with animation. 

1) If you want to move cube with mouse movement and without animation then just use action actuator with play(action type) and dont set start and end frame in this. Dont use property inside action.

2) If you want to move cube with mouse movement  and with cube animation then just use play(action type) and start and end frame in it still don`t use property.

Main thing You want to make your cube animation rotation with 10 degree rotation with mouse move. So here you can do this with start and end frame just set your end frame to half of timeline like 50. So its move just 10 degree what you want.

you also can do this with two bool properties. First is true then set end frame to 50 and if second one is true then set end frame to 100. you can do this with scripts. sorry I dont know python for this so i cant post python code here. I am working with unity because unity is better then bge for game development.