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

Project1

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

[讨论] 【算法时间】如何让一个精灵围绕着屏幕中心公转?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
1
发表于 2010-7-7 22:56:18 | 显示全部楼层
放个最弱智的算法。
  1. class Scene_Demo
  2.   def initialize
  3.     @半径 = 200
  4.     @度数 = 0
  5.   end

  6.   def main

  7.     @tip = Sprite.new(Viewport.new(0,0,640,480))

  8.     @tip.bitmap = Bitmap.new(12*32,32)

  9.     @tip.bitmap.draw_text(0,0,12*32,32,"这只是精灵移动的演示",1)

  10.     @sprite = Sprite.new(Viewport.new(0,0,640,480))

  11.     @sprite.bitmap = Bitmap.new("Graphics/Battlers/001-Fighter01") #咱表示这个图片可以随意……

  12.     #此处添加脚本


  13.     # 执行过渡

  14.     Graphics.transition

  15.     # 主循环

  16.     loop do

  17.       # 刷新游戏画面

  18.       Graphics.update

  19.       # 刷新输入信息

  20.       Input.update

  21.       # 刷新画面

  22.       update

  23.       # 如果切换画面就中断循环

  24.       if $scene != self

  25.         break

  26.       end

  27.     end

  28.     # 准备过渡

  29.     Graphics.freeze

  30.     @tip.dispose

  31.     @sprite.dispose

  32.   end

  33.   def update

  34.     if Input.trigger?(Input::B)

  35.       # 演奏取消 SE

  36.       $game_system.se_play($data_system.cancel_se)

  37.       # 切换的地图画面

  38.       $scene = Scene_Map.new

  39.       return

  40.     end

  41. #此处添加脚本
  42.      @度数 += 0.1
  43.      @sprite.x = Math.sin(@度数) * @半径 + 320
  44.      @sprite.y = Math.cos(@度数) * @半径 + 240
  45.   end

  46. end
复制代码

点评

本着鼓励新淫的态度选了一个我不大熟悉的人……  发表于 2010-7-9 15:54
- -b好吧,其实这个@度数 += 0.1就是转速,改成@度数 += 0.01啥的就很慢了。  发表于 2010-7-8 15:51
咱表示这个很完美……除了转得太快我看不清……  发表于 2010-7-8 12:38
好歹当年也当过大魔王过,orz
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 10:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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