新人求助,关于NPC移动图像无改变
gamemaker吧
全部回复
仅看楼主
level 8
CNZI231
楼主
一楼祭度娘,求手下留情
2014年09月06日 10点09分
1
level 9
carefree0910_
我又来建议你看f1了。。。不过首先我说说我做npc的思路:用虚拟键盘。。。如果你觉得这不错的话,就去f1找找虚拟按键的函数吧。。。。同新,以上话仅供参考,如有缺漏欢迎指出。。。。
2014年09月06日 10点09分
3
CNZI231
昨天我看了,但是不知道怎么用,才接触gm几天。。只会拖拽和模仿
2014年09月06日 10点09分
CNZI231
那我去看看,感谢回复
!
2014年09月06日 10点09分
CNZI231
http://f1.gamemake.org/gm/
找了半天 都没看到虚拟键盘...
2014年09月06日 10点09分
carefree0910_
回复 CNZI231 :我回去用电脑看看在哪个子目录里。。。。
2014年09月07日 12点09分
level 8
CNZI231
楼主
搞了好久 还是没解决
2014年09月06日 11点09分
4
level 8
CNZI231
楼主
加了image_angle = direction代码。。。就变成深井冰了
2014年09月06日 11点09分
5
level 8
CNZI231
楼主
我想到个方法:
用代码,如果npc的位置y-4,那么npc图片改为xxx,如果npc的位置y4,那么npc图片改为x
但是不会写。。。有大触看看吗
2014年09月06日 11点09分
6
level 8
CNZI231
楼主
请教个代码:
检测obj是否y=-1 如果是图片改变为xxxx
检测obj是否y= 1 如果是图片改变为xxxx
检测obj是否x=-1 如果是图片改变为xxxx
检测obj是否y= 1 如果是图片改变为xxxx
坐标位置是obj本身位置。
请问可以这样的吗?
求大触指导
2014年09月06日 12点09分
7
level 11
z123k5
sorry楼主 刚才玩去了
2014年09月06日 12点09分
8
CNZI231
我要疯了
2014年09月06日 12点09分
z123k5
@CNZI231
我有随机让敌人乱走动的方法
2014年09月06日 12点09分
CNZI231
回复 z123k5 :怎么搞~加QQ吧
2014年09月06日 12点09分
z123k5
@CNZI231
正在打字 不用QQ
2014年09月06日 12点09分
level 11
z123k5
分析:
要让NPC有随机性的运动,但是GM没有随机做动作的按钮,只有随机选择物体创建的按钮 于是这是个好方法 如下:
1.由于随机创建物体一次只能选择4种物体创建,所以要新建4个物体(都不要精灵图片),但是敌人要八方向转动,就要用到两个这样的动作,所以要新建8个物体。如果要让敌人每个方向有两种情况走动一共要用16个物体(为了简便可以添加到文件集里)
2.声明16变量(如moveA与moveB(觉得麻烦就按照第一步新建8个物体,直接声明8个变量))个在敌人的obj步事件里先添加随机创建一个物体,4个这样的动作,一共16个物体被随机抽到。///下面未完待续。。。
2014年09月06日 12点09分
9
z123k5
呃 只要1个变量就行了(╯°Д°)╯(┻━┻
2014年09月06日 12点09分
CNZI231
好方法,但是好像有点麻烦。。。。。
2014年09月06日 12点09分
CNZI231
回复 z123k5 :你跟一个新手说变量(╯`□′)╯(┻━┻
2014年09月06日 12点09分
z123k5
@CNZI231
其实就是一个储存数字的东东~
2014年09月06日 12点09分
level 11
z123k5
解答楼主的问题:
首先 这个方法是错的,因为原来是要根据NPC朝向图片,不是物体的方向所以要用image_index语句
条的方位及箭头如下
●↑● 010
←●→ 304 0还是代表没有
●↓● 020
如果条的精灵名字为tiao1 tiao2 tiao3 tiao4的话(为了保险还是按照这样做吧,条的方向按照数字),sprite_index语句用于改变精灵 代码如下(放在NPC的步事件里 另外glabalvar是声明全局变量):
glabalvar direction//声明全局变量direction
direction=0
if image_index=1
{direction=1}
if image_index=2
{direction=2}
if image_index=3
{direction=3}
if image_index=4
{direction=4}
这个代码还算不全,要在条的步事件中继续写:
if direction=1
{sprite_index=tiao1}//tiao1是四个条精灵的其中一个精灵
if direction=2
{sprite_index=tiao2}
if direction=3
{sprite_index=3}
If direction=4
{sprite_index4}
由于NPC走动条不会走动,但是改代码麻烦所以也给条移动
2014年09月07日 02点09分
11
z123k5
if direction=4 {sprite_index=4} 最后是这样的(打字过急没注意到)
2014年09月07日 02点09分
z123k5
@z123k5
if(image_index=1) {direction=1} 还有if后面要用括号括起来 if(direction=1) {sprite_index=tiao1}
2014年09月07日 02点09分
CNZI231
回复 z123k5 :嗯,基本了解了,谢谢,等一下我去试试看,还有问题在请教
2014年09月07日 02点09分
CNZI231
系统说没有glabalvar direction
2014年09月07日 03点09分
level 11
z123k5
instance_create(x,y)
艾吗这就是创建代码,是创建自己的,终于让我找到了
2014年09月07日 03点09分
12
CNZI231
glabalvar direction 我吧这个打到里面,错误?
2014年09月07日 03点09分
z123k5
@CNZI231
加个分号试试
2014年09月07日 04点09分
CNZI231
回复 z123k5 :不行
2014年09月07日 04点09分
z123k5
@CNZI231
那删掉glabalvar diretion用lives把其他的direction也改成lives
2014年09月07日 04点09分
吧务
level 13
q糖豆p
完整来说,每个实例由以下变量和函数来处理它们的位置和运动:
x 对象的 x 坐标 .
y 对象的 y 坐标 .
xprevious 对象以前的 x 坐标 .
yprevious 对象以前的 y 坐标 .
------
(以上摘自F1)
对比这4个变量就可以知道实例的运动方向,即使你是直接通过坐标跳转(而不是speed/direction/hspeed/vspeed这些内置变量)也可以得到
正确的
朝向。
2014年09月12日 03点09分
13
1