开启左侧

如何实现拖动图形时实现旋转功能

[复制链接]
馒头 发表于 2012-4-21 15:21:10 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
我想做一个七巧板拼图的课件,拖拽部分会做,不会让拖拽的图形旋转,想请教高手指点迷津!

点评

把你先做的放出来,别人修改完善  发表于 2012-4-21 15:29
欢迎大家多发帖,参与讨论,增进彼此了解。

精彩评论1

正序浏览
etthink 发表于 2012-4-22 10:45:35 | 显示全部楼层
附群中朋友提供的解决方法:
移动旋转.rar (5.9 KB, 下载次数: 86)

  1. var p:Number = Math.PI / 180;
  2. var dx:Number;
  3. var dy:Number;
  4. var angle:Number;

  5. var spr:Sprite=addChild(new Sprite())as Sprite;
  6. spr.x = 275;
  7. spr.y = 200;
  8. var rect_mc:MovieClip=spr.addChild(new MovieClip())as MovieClip;
  9. var circle_mc:MovieClip=spr.addChild(new MovieClip())as MovieClip;
  10. rect_mc.graphics.beginFill (0xff00ff,1);
  11. rect_mc.graphics.drawRect (-100,-50,200,100);
  12. rect_mc.graphics.endFill ();
  13. circle_mc.graphics.beginFill (0x000000,1);
  14. circle_mc.graphics.drawCircle (0,0,6);
  15. circle_mc.graphics.endFill ();
  16. circle_mc.alpha = 0;

  17. rect_mc.addEventListener (MouseEvent.MOUSE_OVER,overHandler);
  18. rect_mc.addEventListener (MouseEvent.MOUSE_OUT,outHandler);
  19. rect_mc.addEventListener (MouseEvent.MOUSE_DOWN,downHandler);


  20. function overHandler (e)
  21. {
  22. circle_mc.alpha = 1;

  23. }
  24. function outHandler (e)
  25. {
  26. circle_mc.alpha = 0;
  27. }
  28. function downHandler (e)
  29. {
  30. spr.startDrag ();
  31. stage.addEventListener (MouseEvent.MOUSE_UP,upHandler);

  32. }
  33. function upHandler (e)
  34. {
  35. spr.stopDrag ();
  36. spr.removeEventListener (MouseEvent.MOUSE_MOVE,sprMove);
  37. }

  38. circle_mc.addEventListener (MouseEvent.MOUSE_OVER,circleOver);
  39. function circleOver (e)
  40. {
  41. circle_mc.alpha = 1;
  42. circle_mc.addEventListener (MouseEvent.MOUSE_DOWN,sprDown);
  43. }
  44. function sprDown (e)
  45. {
  46. spr.addEventListener (MouseEvent.MOUSE_MOVE,sprMove);
  47. stage.addEventListener (MouseEvent.MOUSE_UP,upHandler);
  48. }
  49. function sprMove (e)
  50. {
  51. dx = mouseX - spr.x;
  52. dy = mouseY - spr.y;
  53. angle = Math.atan2(dy,dx) / p;
  54. spr.rotation = angle;
  55. }
复制代码



学教育技术,上教育技术论坛!http://www.etthink.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐阅读更多+
会员达人更多+
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

学教育技术,上教育技术论坛!

教育技术论坛征稿范围:教育技术应用案例、教程文章、优秀作品等。

Email:sf@etthink.com

Copyright   ©2007-2026  应用思考-教育技术论坛  Powered by©Discuz!  技术支持:且行资源    ( 皖ICP备10014945号-4 )