关于image_index的一些冷知识
viaiyyy 发表于 2018-11-01 11:07:06 163

image_index是一个系统内置变量,它在游戏运行的时候会不停地增加,并以当前值模精灵图总帧数。而关于image_index的一些更深入的细节,我整理了一些知识点,希望对大家更深入地使用GMS有所帮助。

1、image_imdex不一定是整数,并且通常情况下,image_index是个小数。也就是说,你的某些诸如image_index == a的判定语句最好修改为 floor(image_imdex) == a或者 image_index >= a等。

2、image_index每一秒的增量是和精灵图的默认播放速度(在精灵图编辑器中调整,以下用default_speed代替)和游戏中的image_speed共同决定的,每秒的增量为default_speed*image_speed。换算到每一帧的增量就是default_speed*image_speed/game_speed。举个例子,如果你的精灵图默认播放速度为30,有一种image_speed为1,gsmr_speed为60,那么每一帧image_index的增量就是30/60=0.5。这也是最为常见的情况。

3、当你切换sprite_index的时候,除非image_index越界,否则image_imdex是不会置0的。这样在做一些八方向走动或者攻击和移动分离的机制(例如攻击的同时还可以跳跃)会比较方便,但是如果你要做横版ACT类游戏,最好在切换sprite_index的时候手动将image_index置0。

最新回复 (7)
  • test 发表于 2018-11-01 03:09:47
    0 2
    不错,顶了
  • caohaozhe 发表于 2018-11-01 08:18:32
    0 3

    默认播放速度是啥?如果指的是

    的话,那他和精灵速度一点关系没有,只是方便在spr编辑器里预览。


    如果不是,当我在放屁。

  • caohaozhe 发表于 2018-11-01 08:18:53
    0 4


  • viaiyyy 发表于 2018-11-01 08:57:04
    0 5
    就是精灵编辑器里头的速度,在进入游戏后也有影响的。我用的GMS2,不晓得其他的还有没有。
  • 疯花正猫 发表于 2018-11-03 09:06:41
    0 6
    赞一个
  • 顺子 发表于 2018-11-05 01:49:37
    0 7
    确实都是新人很容易踩的坑~
    以及sprite编辑器里能看到乒乓循环的那种循环播放模式gms其实根本不支持使用-_-|
    骗纸……
  • kasade 发表于 2018-11-10 06:49:51
    0 8
    很有价值的信息,多谢楼主!
    多问一句,这些规律是基于哪个版本的呢?
    GM8  GMS1  还是  GMS2
    抑或是各个版本都通用的呢?