新人求助
gamemaker吧
全部回复
仅看楼主
level 6
(我知道我的名字**但是不要在意,我随便取的)最近在做一个游戏,遇到了点儿问题:怎么让鼠标按下后让该实例定格在原地并执行其他事件?代码流程图都行
2017年06月20日 08点06分 1
level 11
[呵呵]
2017年06月20日 08点06分 2
?
2017年06月20日 10点06分
level 6
哦对,鼠标按下前让实例随鼠标移动
2017年06月20日 10点06分 3
我试过while循环但是程序大卡
2017年06月20日 10点06分
level 6
我的程序是:
{
while(!mouse_check_button(mb_left))
{
x = mouse_x;
y = mouse_y;
}
(然后后面是定位后的程序)
2017年06月20日 10点06分 4
level 14
尝试把while换成if。
2017年06月20日 11点06分 5
哦
2017年06月20日 13点06分
不过好像鼠标按下后要删除if判断啊
2017年06月21日 05点06分
level 10
你是想做PVZ吗[滑稽]
2017年06月20日 11点06分 6
被你看出来了……你会做?
2017年06月20日 13点06分
2017年06月20日 14点06分
@MikuScarlet 那我后面有事问你咯
2017年06月21日 05点06分
level 14
我知道了,你说的是像PVZ那样点住鼠标创建一个跟随,松开鼠标创建一个实例。比如豌豆射手。
在道具栏定义,鼠标按下,创建一个跟随对象,x=mouse_x,y=mouse_y。全局鼠标事件中判断鼠标松开时有无这样的跟随对象,如果有就创建一个对应的对象。
2017年06月21日 07点06分 7
跟随对象?用代码吗?
2017年06月21日 10点06分
@某没名字的人♂ 基本上代码能实现的拖拉动作也可以,但要麻烦点。
2017年06月21日 13点06分
@宋异人 那我到时候去看看
2017年06月21日 13点06分
@宋异人 你的意思是创建移动物体?那速度和方向怎么设?还有检测有没有实例跟随是要放“如果位置为空”吗?
2017年06月21日 13点06分
level 14
[无效] https://pan.baidu.com/s/1mimgh5m
楼主看一下这个,这个是我弄的简易的PVZ建造系统的雏形。
2017年06月22日 13点06分 8
level 14
这个就是我弄的PVZ的建造系统的雏形。
2017年06月22日 14点06分 9
点击上面的武器,拉到下面指定区域,松开鼠标,就会创建指定武器。当然现在没有阳光限制也没有冷却时间限制。而且所有武器也没有任何攻击生命机制。只是为了演示建造。
2017年06月22日 14点06分
@某没名字的人♂ 你这太过分了吧。。。。自己先好好学习docs.yoyogames.com再说。至少看两遍!
2017年06月23日 13点06分
@blovestorm 好吧我先去看
2017年06月24日 09点06分
level 6
@宋异人 谢谢。就是这个不懂:为什么要移到那里?
2017年06月25日 09点06分 10
这样武器就会移动到下面画好的格子正中间。如果不加这句,就是紧跟鼠标,创建时,可能在任意位置,而不是格子正中间。
2017年06月25日 10点06分
move_snap的意思就是对齐到网格。这里就是64*64的格子,正好在下面方格正中间。
2017年06月25日 10点06分
懂了
2017年06月26日 09点06分
不过我是种植后再对齐,跟你这个不一样
2017年06月26日 09点06分
level 6
@宋异人 还有这一段有疑问:
var temp;
temp=instance_create(mouse_x,mouse_y,obj_follow);
temp.sprite_index=sprite_index;
temp.mymy_target=my_target;
问题1:为什么要设个变量?
问题2:“temp.sprite_index=sprite_index;”的实际意义是什么?
问题3:my_target是变量吧?
2017年06月27日 11点06分 11
level 14
obj_follow就是一个跟随鼠标的对象,它有两个属性:
定义target就是为了在松开鼠标实际创建时,创建哪个武器。
定义sprite_index,是为了显示时,显示哪个武器的精灵图。
2017年06月27日 11点06分 12
那为什么一定要设temp这个变量呢?还有sprite_index及target是怎么变化的呢?我没看到设值的变量啊
2017年06月29日 03点06分
或者说,我是一个卡片一个对象,能不能手动调这两个参数?(你那好像是自动调的)
2017年06月29日 11点06分
@某没名字的人♂ 设值是在房间里对象创建时执行代码。在房间编辑里,ctrl加右键对象有个执行代码选项,里边有定义变量的代码。
2017年06月29日 19点06分
@宋异人 唔……我去看看
2017年06月30日 03点06分
level 6
@宋异人 能再问一下GML要怎么绘制变量吗?
2017年07月02日 05点07分 14
draw_text();
2017年07月02日 12点07分
@宋异人 括号里是变量名是吧
2017年07月02日 23点07分
等等,括号里那个string是变量名吧
2017年07月02日 23点07分
@某没名字的人♂ draw_text(x,y,string),string可以是变量名可以是字符串。要用gml的话建议先把gml文档浏览一遍,不用背熟也至少要用到的时候知道有这个函数吧
2017年07月03日 00点07分
level 6
@宋异人 请问一下房间的索引编号是什么意思?是房间列表的第几个吗?那我弄阳光是不是应该这样:
while(room==5)
{
draw_text(x,y,global.sun);
}
2017年07月11日 10点07分 15
1