设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1585|回复: 5
打印 上一主题 下一主题

[已经过期] 求助高手啊 在线========啊

[复制链接]

Lv1.梦旅人

梦石
0
星屑
150
在线时间
0 小时
注册时间
2010-6-16
帖子
3
跳转到指定楼层
1
发表于 2010-6-18 20:14:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
这貌似是个网游的脚本
进入游戏到了输入账号密码的地方后会提示
按确定后弹出

即下面的代码

  1. module Mouse
  2.   #============================================================================
  3.   # 设置
  4.   #============================================================================
  5.   # 动画的图片格式
  6.   FORMAT_ANIMSRC_FRAMES_PER_ROW               = 5;       # 每一行几帧
  7.   FORMAT_ANIMSRC_WIDTH_PER_FRAME              = 40;     # 每一帧对应的图像宽度
  8.   FORMAT_ANIMSRC_HEIGHT_PER_FRAME             = 28;     # 每一帧对应的图像高度
  9.   # 动画图片的数组枚举 (如果自己知道哪里是什么动画, 也可以不要用)
  10.   ENUM_SCENE_MAP_MOUSELBUTTON_DOWN_ANIM_INDEX = 0 ;      # 地图的鼠标动画的索引  
  11.   # 动画的数据, 这5个彼此一一对应
  12.   @@mouseAnimGraphics         = [nil];
  13.   @@mouseAnimFrame            = [8];
  14.   @@mouseAnimDurationPerFrame = [8];
  15.   @@mouseAnimTimes            = [3];
  16.   @@mouseAnimTotalDuration    = [0];
  17.   @@mouseAnimInScreen         = [false];
  18.   @@mouseMapCoord             = [[], []];
  19.   #============================================================================
  20.   # 设置
  21.   #============================================================================
  22.   
  23.   def self.SetAnim(index, sprite, screen = false, frame = 8, durationPerFrame = 8)
  24.     if (nil != @@mouseAnimGraphics[index])
  25.       @@mouseAnimGraphics[index].dispose();
  26.     end
  27.     @@mouseAnimGraphics[index]         = sprite;
  28.     @@mouseAnimGraphics[index].src_rect.set(0, 0,
  29.                                             FORMAT_ANIMSRC_WIDTH_PER_FRAME,
  30.                                             FORMAT_ANIMSRC_HEIGHT_PER_FRAME
  31.                                             );
  32.     @@mouseAnimInScreen[index]         = screen;
  33.     @@mouseAnimGraphics[index].visible = false;
  34.     @@mouseAnimFrame[index]            = frame;
  35.     @@mouseAnimDurationPerFrame[index] = durationPerFrame;
  36.     @@mouseAnimTotalDuration[index]    = 0;
  37.     @@mouseMapCoord[0][index]          = 0;
  38.     @@mouseMapCoord[1][index]          = 0;
  39.   end
  40.   def self.StartAnim(index, x, y, times = 2)
  41.     if (nil == @@mouseAnimGraphics[index])
  42.       return false;
  43.     end
  44.     if (@@mouseAnimInScreen[index])
  45.       @@mouseAnimGraphics[i].x       = x;
  46.       @@mouseAnimGraphics[i].y       = y;
  47.     else
  48.       @@mouseMapCoord[0][index]      = x;
  49.       @@mouseMapCoord[1][index]      = y;
  50.     end
  51.     @@mouseAnimGraphics[index].visible = true;
  52.     @@mouseAnimTotalDuration[index]    =  @@mouseAnimFrame[index] *
  53.                                           @@mouseAnimDurationPerFrame[index];
  54.     @@mouseAnimTimes[index]            = times;
  55.     return true;
  56.   end
  57.   # 更新所有动画
  58.   def self.UpdateAnim()
  59.     @@mouseAnimTotalDuration.each_index{
  60.       |i|
  61.       if (0 >= @@mouseAnimTotalDuration[i])
  62.         @@mouseAnimGraphics[i].visible = false;
  63.         next;
  64.       end      
  65.       @@mouseAnimTotalDuration[i] -= 1;
  66.       if (!@@mouseAnimInScreen[i])
  67.         @@mouseAnimGraphics[i].x       = (((@@mouseMapCoord[0][i]<<7) - $game_map.display_x + 3)>>2) + 16;
  68.         @@mouseAnimGraphics[i].y       = (((@@mouseMapCoord[1][i]<<7) - $game_map.display_y + 3)>>2) + 32;
  69.       end
  70.       if (0 == (@@mouseAnimTotalDuration[i] % @@mouseAnimDurationPerFrame[i]))
  71.         bmpRectIndex  = @@mouseAnimTotalDuration[i] /
  72.                         @@mouseAnimDurationPerFrame[i];
  73.         bmpRectIndexW = bmpRectIndex % FORMAT_ANIMSRC_FRAMES_PER_ROW;
  74.         bmpRectIndexH = bmpRectIndex / FORMAT_ANIMSRC_FRAMES_PER_ROW;
  75.         @@mouseAnimGraphics[i].src_rect.set(
  76.           bmpRectIndexW * FORMAT_ANIMSRC_WIDTH_PER_FRAME,
  77.           bmpRectIndexH * FORMAT_ANIMSRC_HEIGHT_PER_FRAME,
  78.           FORMAT_ANIMSRC_WIDTH_PER_FRAME, FORMAT_ANIMSRC_HEIGHT_PER_FRAME
  79.         );
  80.       end
  81.     }
  82.   end
  83.   # 更新指定的动画
  84.   def self.UpdateAnimSpecial(indexArr)
  85.     indexArr.each{
  86.       |i|
  87.       if (0 >= @@mouseAnimTotalDuration[i])
  88.         @@mouseAnimTimes[i] -= 1;
  89.         if (0 >= @@mouseAnimTimes[i])
  90.           @@mouseAnimGraphics[i].visible = false;
  91.         else
  92.           @@mouseAnimTotalDuration[i] = @@mouseAnimFrame[i] *
  93.                                         @@mouseAnimDurationPerFrame[i];
  94.         end
  95.         next;
  96.       end      
  97.       @@mouseAnimTotalDuration[i] -= 1;
  98.       if (!@@mouseAnimInScreen[i])
  99.         @@mouseAnimGraphics[i].x       = (((@@mouseMapCoord[0][i]<<7) - $game_map.display_x + 3)>>2) + 16;
  100.         @@mouseAnimGraphics[i].y       = (((@@mouseMapCoord[1][i]<<7) - $game_map.display_y + 3)>>2) + 32;
  101.       end
  102.       if (0 == (@@mouseAnimTotalDuration[i] % @@mouseAnimDurationPerFrame[i]))
  103.         bmpRectIndex  = @@mouseAnimTotalDuration[i] /
  104.                         @@mouseAnimDurationPerFrame[i];
  105.         bmpRectIndexW = bmpRectIndex % FORMAT_ANIMSRC_FRAMES_PER_ROW;
  106.         bmpRectIndexH = bmpRectIndex / FORMAT_ANIMSRC_FRAMES_PER_ROW;
  107.         @@mouseAnimGraphics[i].src_rect.set(
  108.           bmpRectIndexW * FORMAT_ANIMSRC_WIDTH_PER_FRAME,
  109.           bmpRectIndexH * FORMAT_ANIMSRC_HEIGHT_PER_FRAME,
  110.           FORMAT_ANIMSRC_WIDTH_PER_FRAME, FORMAT_ANIMSRC_HEIGHT_PER_FRAME
  111.         );
  112.       end
  113.     }
  114.   end
  115.   # 等待完成的更新
  116.   def self.UpdateAnimWait(indexArr, wait)
  117.     indexArr.each{
  118.       |i|
  119.       if (0 >= @@mouseAnimTotalDuration[i])
  120.         @@mouseAnimTimes[i] -= 1;
  121.         if (wait)
  122.           @@mouseAnimTotalDuration[i] = @@mouseAnimFrame[i] *
  123.                                         @@mouseAnimDurationPerFrame[i];
  124.           if (0 >= @@mouseAnimTimes[i])
  125.             @@mouseAnimTimes[i] = 1
  126.           end
  127.         else
  128.           @@mouseAnimTotalDuration[i] = @@mouseAnimTimes[i] = 0;
  129.         end
  130.         if (0 >= @@mouseAnimTimes[i])
  131.           @@mouseAnimGraphics[i].visible = false;
  132.         end
  133.         next;
  134.       end      
  135.       @@mouseAnimTotalDuration[i] -= 1;
  136.       if (!@@mouseAnimInScreen[i])
  137.         @@mouseAnimGraphics[i].x       = (((@@mouseMapCoord[0][i]<<7) - $game_map.display_x + 3)>>2) + 16;
  138.         @@mouseAnimGraphics[i].y       = (((@@mouseMapCoord[1][i]<<7) - $game_map.display_y + 3)>>2) + 32;
  139.       end
  140.       if (0 == (@@mouseAnimTotalDuration[i] % @@mouseAnimDurationPerFrame[i]))
  141.         bmpRectIndex  = @@mouseAnimTotalDuration[i] /
  142.                         @@mouseAnimDurationPerFrame[i];
  143.         bmpRectIndexW = bmpRectIndex % FORMAT_ANIMSRC_FRAMES_PER_ROW;
  144.         bmpRectIndexH = bmpRectIndex / FORMAT_ANIMSRC_FRAMES_PER_ROW;
  145.         @@mouseAnimGraphics[i].src_rect.set(
  146.           bmpRectIndexW * FORMAT_ANIMSRC_WIDTH_PER_FRAME,
  147.           bmpRectIndexH * FORMAT_ANIMSRC_HEIGHT_PER_FRAME,
  148.           FORMAT_ANIMSRC_WIDTH_PER_FRAME, FORMAT_ANIMSRC_HEIGHT_PER_FRAME
  149.         );
  150.       end
  151.     }
  152.   end
  153.   # 不消除动画的更新
  154.   def self.UpdateAnimWait_Visible(indexArr, wait)
  155.     indexArr.each{
  156.       |i|
  157.       if (0 >= @@mouseAnimTotalDuration[i])
  158.         @@mouseAnimTimes[i] -= 1;
  159.         if (wait)
  160.           @@mouseAnimTotalDuration[i] = @@mouseAnimFrame[i] *
  161.                                         @@mouseAnimDurationPerFrame[i];
  162.           if (0 >= @@mouseAnimTimes[i])
  163.             @@mouseAnimTimes[i] = 1
  164.           end
  165.         else
  166.           @@mouseAnimTotalDuration[i] = @@mouseAnimTimes[i] = 0;
  167.         end
  168.         if (0 >= @@mouseAnimTimes[i])
  169.           @@mouseAnimGraphics[i].visible = false;
  170.         end
  171.         next;
  172.       end      
  173.       @@mouseAnimTotalDuration[i] -= 1;
  174.       if (!@@mouseAnimInScreen[i])
  175.         @@mouseAnimGraphics[i].x       = (((@@mouseMapCoord[0][i]<<7) - $game_map.display_x + 3)>>2) + 1;
  176.         @@mouseAnimGraphics[i].y       = (((@@mouseMapCoord[1][i]<<7) - $game_map.display_y + 3)>>2) + 8;
  177.       end
  178.       if (0 == (@@mouseAnimTotalDuration[i] % @@mouseAnimDurationPerFrame[i]))
  179.         bmpRectIndex  = @@mouseAnimTotalDuration[i] /
  180.                         @@mouseAnimDurationPerFrame[i];
  181.         bmpRectIndexW = bmpRectIndex % FORMAT_ANIMSRC_FRAMES_PER_ROW;
  182.         bmpRectIndexH = bmpRectIndex / FORMAT_ANIMSRC_FRAMES_PER_ROW;
  183.         @@mouseAnimGraphics[i].src_rect.set(
  184.           bmpRectIndexW * FORMAT_ANIMSRC_WIDTH_PER_FRAME,
  185.           bmpRectIndexH * FORMAT_ANIMSRC_HEIGHT_PER_FRAME,
  186.           FORMAT_ANIMSRC_WIDTH_PER_FRAME, FORMAT_ANIMSRC_HEIGHT_PER_FRAME
  187.         );
  188.       end
  189.     }
  190.   end
  191.   def self.ResetAnim(index)
  192.     @@mouseAnimTotalDuration[index] = @@mouseAnimFrame[index] *
  193.                                       @@mouseAnimDurationPerFrame[index];
  194.   end
  195.   def self.GetAnimTotalDuration(index)
  196.     return @@mouseAnimTotalDuration[index];
  197.   end
  198.   def self.ReleaseAnim()
  199.     @@mouseAnimGraphics.each{
  200.       |sprite|
  201.       next if (nil == sprite);
  202.       sprite.dispose;
  203.       sprite = nil;
  204.     }
  205.   end
  206.   def self.TransMousPosToMapCoord()
  207.     x, y = Mouse.get_mouse_pos();
  208.     return [($game_map.display_x>>7) + (x>>5), ($game_map.display_y>>7) + (y>>5)];
  209.   end
  210.   def self.GetAnimTransCoord(index)
  211.     return [@@mouseMapCoord[0][index], @@mouseMapCoord[1][index]];
  212.   end
  213. end

  214. #=====================================================
  215. # 添加鼠标动画的方法
  216. spr     = Sprite.new;
  217. spr.z   = 99999999;
  218. spr.bitmap = Bitmap.new("mousepp.png");
  219. Mouse.SetAnim(Mouse::ENUM_SCENE_MAP_MOUSELBUTTON_DOWN_ANIM_INDEX, spr);
  220. END{Mouse.ReleaseAnim();}

  221. class Scene_Map
  222.   alias updateMouseAnim update
  223.   def update
  224.     updateMouseAnim;
  225.     x, y = Mouse.get_mouse_pos();
  226.     Mouse.UpdateAnimWait_Visible([Mouse::ENUM_SCENE_MAP_MOUSELBUTTON_DOWN_ANIM_INDEX],
  227.       $game_player.moving?);
  228.     if (Mouse.press?(Mouse::LEFT))
  229.       sprX, sprY = Mouse.TransMousPosToMapCoord()
  230.       Mouse.StartAnim(Mouse::ENUM_SCENE_MAP_MOUSELBUTTON_DOWN_ANIM_INDEX,
  231.                       sprX, sprY);
  232.     end   
  233.   end
  234. end
复制代码
220行为  spr.bitmap = Bitmap.new("mousepp.png");
求高手指教啊    在线=========啊

Lv1.梦旅人

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
帖子
1361

贵宾

2
发表于 2010-6-18 20:27:19 | 只看该作者
缺少mousepp.png文件....

评分

参与人数 1星屑 +200 收起 理由
「旅」 + 200 认可答案

查看全部评分

-.-
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-2-13
帖子
82
3
发表于 2010-6-18 21:32:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
395
在线时间
101 小时
注册时间
2009-2-3
帖子
318
4
发表于 2010-6-18 22:07:28 | 只看该作者
SORRY   I  AM...新手啊
感谢还有你,Project1
回复 支持 反对

使用道具 举报

Lv1.梦旅人

鬼才

梦石
0
星屑
54
在线时间
40 小时
注册时间
2010-2-1
帖子
273
5
发表于 2010-6-19 06:59:14 | 只看该作者
建个SAVE的文件夹就行了
44RPG开发论坛 ←点击进如  RPGXPQQ群89799338
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
11 小时
注册时间
2009-6-4
帖子
210
6
发表于 2010-6-19 12:45:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-25 09:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表