Android(安卓)Cocos2d实现:一个图片围绕一个圆心做圆运动
16lz
2021-01-24
阅读更多
转载自:http://www.longhaiqiang.com/android-cocos2d实现:一个图片围绕一个圆心做圆运动/
实现效果:
public class CCRoundBy extends CCIntervalAction { boolean turn;// Forward or Reverse round float startAngle;// default float radius;// Round circle radius CGPoint center;// Round circle center point public boolean isTurn() {return turn;}public void setTurn(boolean turn) {this.turn = turn;}public float getStartAngle() {return startAngle;}public void setStartAngle(float startAngle) {this.startAngle = startAngle;}public float getRadius() {return radius;}public void setRadius(float radius) {this.radius = radius;}public CGPoint getCenter() {return center;}public void setCenter(CGPoint center) {this.center = center;}/** creates the action */ public static CCRoundBy action(float duration,boolean a,CGPoint point, float r) { return new CCRoundBy(duration, a, point, r); } /** initializes the action */ protected CCRoundBy(float duration,boolean a,CGPoint point, float r) { super(duration); turn = a; radius = r; center = point; } @Override public void start(CCNode aTarget) { super.start(aTarget); startAngle = aTarget.getRotation(); if (turn) { ((CCNode)aTarget).setPosition(CGPoint.ccpAdd(center, CGPoint.ccp(-radius, 0))); } else { ((CCNode)aTarget).setPosition(CGPoint.ccpAdd(center, CGPoint.ccp(radius, 0))); } } @Override public void update(float t) { // XXX: shall I add % 360 float rotate = (startAngle + 360.0f * t ); if (turn) { rotate *= -1; } target.setRotation(rotate); float fradian = (float) (rotate * Math.PI / 180.0f); CGPoint pos = CGPoint.ccp(center.x + radius * MathUtils.sin(fradian), center.y + radius * MathUtils.cos(fradian)); target.setPosition(pos); } @Override public CCIntervalAction reverse() { boolean result = !turn; return action(duration, result, center, radius); }}
更多相关文章
- Android(安卓)textView文字添加图片 imageSpan使用
- phonegap sqlite (android)
- android之spinner背景、字体颜色
- android 关于listview item设置高度的问题解决方法
- O1--添加假对焦功能并支持对焦
- ViewPager的切换动画
- android AlarmManager 的相關應用
- Android(安卓)Studio Mac快捷键
- Android文本框布局实例