新人求助
gamemaker吧
全部回复
仅看楼主
level 6
某没名字的人♂
楼主
(我知道我的名字**但是不要在意,我随便取的)最近在做一个游戏,遇到了点儿问题:怎么让鼠标按下后让该实例定格在原地并执行其他事件?代码流程图都行
2017年06月20日 08点06分
1
level 11
MikuScarlet
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
妖哥502
你是想做PVZ吗
2017年06月20日 11点06分
6
某没名字的人♂
被你看出来了……你会做?
2017年06月20日 13点06分
MikuScarlet
@某没名字的人♂
我会啊
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分
blovestorm
@某没名字的人♂
你这太过分了吧。。。。自己先好好学习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分
妖哥502
@某没名字的人♂
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