查看: 1274|回复: 4
打印 上一主题 下一主题

[其他] 拼图游戏部分代码

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38266
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-6-25 00:53:39 |只看该作者 |倒序浏览
  1. var Tu : Texture2D;
  2. private var first = Vector2.zero;
  3. private var second = Vector2.zero;
  4. private var tempx : float = 0;
  5. private var tempy : float = 0;
  6. //unity3d脚本http://www.unitymanual.com
  7. function OnGUI () {
  8. GUI.DrawTexture (Rect (tempx, tempy, 50, 50),Tu);
  9.    if(Event.current.type == EventType.MouseDown){
  10. first = Event.current.mousePosition ;
  11. }
  12.    if(Event.current.type == EventType.MouseDrag){
  13. second = Event.current.mousePosition ;
  14. tempx += (second.x-first.x);
  15. tempy += (second.y-first.y);
  16. first = second;
  17. }
  18. }
  19. function Update () {
  20. }
复制代码
下面贴一段我修改后的代码,这段代码可以实现鼠标必须点击在图片上才能拖动图片,且可以拖动多张图片。拖动某一张图片时,其他图片不会收影响。unity3d脚本http://www.unitymanual.com利用这个思想,你可以实现其他的很多功能,不仅仅是拖动图片,例如可以实现判断图片是否拖入某一正确区域等等(拼图游戏可以用上述方法实现)。
  1. var Tu : Texture2D;
  2. var Tu1 : Texture2D;
  3. private var first = Vector2.zero;
  4. private var second = Vector2.zero;
  5. private var tempx : float = 0;
  6. private var temp1x : float = 500;
  7. private var tempy : float = 0;
  8. private var temp1y : float = 0;
  9. var IsTu : int = 0;
  10. var IsTu1 : int = 0;
  11. function Update () {
  12. }
  13. function OnGUI () {
  14. GUI.DrawTexture (Rect (tempx, tempy, 50, 50),Tu);
  15. GUI.DrawTexture (Rect (temp1x, temp1y, 50, 50),Tu1);
  16. if(Event.current.type == EventType.MouseDown){
  17. first = Event.current.mousePosition ;
  18. }
  19. if(first.x > tempx && first.x < (tempx+50) && first.y > tempy && first.y < (tempy+50) ){
  20. IsTu = 1;
  21. }
  22. if(first.x > temp1x && first.x < (temp1x+50) && first.y > temp1y && first.y < (temp1y+50) ){
  23. IsTu1 = 1;
  24. }
  25. if(Event.current.type == EventType.MouseDrag && IsTu == 1){
  26. second = Event.current.mousePosition ;
  27. tempx += (second.x-first.x);
  28. tempy += (second.y-first.y);
  29. first = second;
  30. IsTu = 0;
  31. }
  32. if(Event.current.type == EventType.MouseDrag && IsTu1 == 1){
  33. second = Event.current.mousePosition ;
  34. temp1x += (second.x-first.x);
  35. temp1y += (second.y-first.y);
  36. first = second;
  37. IsTu1 = 0;
  38. }
  39. }
复制代码
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-6-25 02:11:48 |只看该作者
Thanks for sharing your experience!
回复

使用道具 举报

wucnj    

1

主题

1

听众

3160

积分

中级设计师

Rank: 5Rank: 5

纳金币
1065
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2014-6-25 09:12:01 |只看该作者
感谢分享!!!
回复

使用道具 举报

3

主题

1

听众

6189

积分

高级设计师

Rank: 6Rank: 6

纳金币
370
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2014-6-25 09:18:26 |只看该作者
MARK THIS CONTENT
回复

使用道具 举报

0

主题

1

听众

943

积分

初级设计师

Rank: 3Rank: 3

纳金币
294
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2014-7-6 21:01:11 |只看该作者
MARK THIS CONTENT
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-6-7 01:09 , Processed in 0.082582 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部