【提问】我用一个实例创造了很多物体,如何判断...
gamemakerstudio吧
全部回复
仅看楼主
level 5
囧乐乐day 楼主
我用一个实例创造了很多物体(相当于克隆了几个),如何判断他们的y是不是都相等
2014年06月01日 11点06分 1
level 5
囧乐乐day 楼主
呼叫呼叫@yeyeabc001
2014年06月01日 13点06分 2
这跟上一个问题差不多啊,也没有什么好方法,遍历每一个盒子,然后找到所有的box[a].y, 再比较就OK了
2014年06月01日 13点06分
回复 yeyeabc001 :box[a].y=box[a].y=box[a].y=...=...=...这样??要在遍历循环里写还是在他的外面写
2014年06月01日 14点06分
回复 囧乐乐day :大致是这样吧,for(a=0;a<boxes;a+=1){if box[a].y = box[a+1].y {....}
2014年06月01日 23点06分
回复 yeyeabc001 :如何判断是否跟他相邻呢?
2014年06月02日 08点06分
level 5
囧乐乐day 楼主
cell=0
for(a=0;a<=instance_number(oCell);a+=1){
cell[a]=instance_find(oCell,a)
cell+=1
if (cell[a].y = cell[a+1].y){
room_goto_next()
}
}
在step中我是这样写的,就是说如果他们y相等,则进入下一个房间 。怎么报错
2014年06月02日 08点06分 3
cell[a+1].y 写法有问题, 我想到了一个简单的方法,在 oCell 步中加一句 if collision_line(x,y-300,x,y+300,oCell,1,1) {room_goto_next()} 包你管用
2014年06月02日 10点06分
level 5
囧乐乐day 楼主
为了让他不会穿透某些obj,我在各移动事件中放上了一个判断,如果旁边是空的,即可进行移动。可是没有效果,还是穿透啦?
2014年06月03日 12点06分 4
运动的OBJ 要有个精灵或遮罩,否则是要穿越的
2014年06月04日 01点06分
回复 yeyeabc001 :还有,要是按你那个判断写,只能判断两个之间的,我希望得等他全部连接上了才可以
2014年06月05日 10点06分
回复 囧乐乐day : 全部联接。咋弄呢,我还得想想
2014年06月05日 11点06分
回复 yeyeabc001 :默认的遮罩不就行了,为什么要加一个呢
2014年06月05日 12点06分
level 5
囧乐乐day 楼主
随机地形的类型我可以(choose("xxx","xx","x"))可是要像minecraft一样,如何在固定的宽度和高度,随机区域呢?
-----------------------------------------------------
| | |
| xxx | |
----------------------- x |
| | |
| xx | |
------------------------------------------------------总之随机一个x1x2y1y2,会出现一个问题:超级小或占了这个范围,甚至随机到负数
2014年06月06日 13点06分 5
level 5
囧乐乐day 楼主
回复上一楼:
哎呀,空格表达不出来
我是这样写代码的
gx1=0
gy1=0
gx2=random(room_width+gx1)
gy2=random(room_height+gy1)
ix1=random(room_width+gx1)
iy1=random(room_height+gy1)
ix2=random(room_width+ix1+gx2)
iy2=random(room_height+iy1+gy2)
dx1=random(room_width+ix1+gx1)
dy1=random(room_height+iy1+gy1)
dx2=random(room_width+dx1+ix2+gx2)
dy2=random(room_height+dy1+iy2+gy2)
g i d分别代表是种地形,为了不覆盖,我加了一下~
可是还是会覆盖+没填满
2014年06月06日 13点06分 6
2014年06月06日 13点06分
level 9
随机地形 我只会用删格
在创建中
msize = 25;
maxheight = 42;//地形高度;可以调整;
global.gridsize = 128;//可以改变
global.mapgrid = ds_grid_create(msize, msize);// 用指定的宽度和高度建立一个新的栅格
for (mx=0; mx<=msize; mx+=1) {
for (my=0; my<=msize; my+=1) {
ds_grid_set(global.mapgrid,mx,my,random(maxheight));
}
}
model = d3d_model_create();
for (mx=0; mx<=msize; mx+=1) {
d3d_model_primitive_begin(model,pr_trianglestrip);
vch = true;
for (my=0; my<=msize; my+=1) {
vch = !vch;
mz2 = ds_grid_get(global.mapgrid,my,mx+1);
d3d_model_vertex_normal_texture(model,global.gridsize*my,global.gridsize*(mx+1),mz2,0,0,1,vch,1);
mz1 = ds_grid_get(global.mapgrid,my,mx);
d3d_model_vertex_normal_texture(model,global.gridsize*my,global.gridsize*mx,mz1,0,0,1,vch,0);
}
d3d_model_primitive_end(model);
}
texture = sprite_get_texture(tx_ground,0);
在画中
d3d_model_draw(modMap,0,0,0,texture);
2014年06月06日 15点06分 7
是随机坡度吗
2014年06月07日 04点06分
level 9
也可以用外接模型来表示
fname=working_directory+"\map.d3d" // map.d3d就是模型
modMap=d3d_model_create()
d3d_model_load(modMap,fname)
texture = sprite_get_texture(tx_ground,0);
2014年06月06日 16点06分 8
level 9
上面删格地形是随机形成的random(maxheight));
想定制地形的话,也可以用像素点建立栅格,就是采用黑白灰精灵 图像,得到地形高度。
2014年06月06日 16点06分 9
能给我发一个gamemaker官网的3d范例吗?发到邮箱220926141@*qq.com(去掉*)
2014年06月07日 04点06分
回复 囧乐乐day :@yeyeabc001
2014年06月07日 08点06分
level 9
黑白灰地形图
2014年06月06日 16点06分 10
level 5
囧乐乐day 楼主
呼叫一下,在吗在吗@yeyeabc001
1.能将gamemaker官网的FPS 3d游戏范例源文件发到我的邮箱里面吗? [email protected]
2.这个游戏会显示一些字,换成3d坐标就完全倒过来了!
3.有土地的纹理吗?
2014年06月07日 08点06分 11
2014年06月07日 09点06分
官网的FPS 3d游戏范例源文件 我从未看到过,哪里有? 我看过一段FPS的视频
2014年06月07日 09点06分
回复 yeyeabc001 :现在可能没有了,初始化之后应该干什么呢,貌似很麻烦
2014年06月07日 09点06分
回复 囧乐乐day :而且文字都倒过来了
2014年06月07日 09点06分
level 5
囧乐乐day 楼主
@yeyeabc001 我第一次做一个3d的沙盒游戏,有些问题小弟不懂,求指教
2014年06月07日 12点06分 12
minecraft,有难度啊,待我做出来再说吧
2014年06月07日 14点06分
回复 yeyeabc001 :听说你以前发过一些关于你的3d坦克的游戏帖子,上面是怎么正着显示文字的??
2014年06月08日 13点06分
回复 囧乐乐day :3d环境下文字就是倒的,3D 的界面是在2D环境下画的,文字就是正的,注意设置文字的OBJ深度。 你另外要非得在3D环境中显示文字,那就只好把文字倒着放进去。
2014年06月08日 13点06分
回复 yeyeabc001 :3D 的界面是在2D环境下画的?
2014年06月09日 11点06分
level 5
囧乐乐day 楼主
告诉你吧。。一开始6楼是在搞2d的,被你一说想试试3d玩一下,我这个2d地形是这样的,不同的地形用不同颜色的长方形画,可是有时候长方形会覆盖别的长方形。有时候地图空了~
2014年06月10日 11点06分 13
6楼搞沙盒,一定要搞3D的,2D是搞不出的。
2014年06月10日 13点06分
回复 yeyeabc001 :sprite随机出现在地形范围之内就可以了,主要是要知道靠什么来算随机地形范围
2014年06月11日 11点06分
回复 囧乐乐day : ds_grid_set(global.mapgrid,mx,my,random(maxheight));其中 random就是随机的高度,若干个随机的高度连接起来就有随机的地形了
2014年06月11日 22点06分
回复 yeyeabc001 :不是,我是随机求多个长方形。x1x2y1y2,不能被覆盖也不能有没被填充的
2014年06月12日 12点06分
level 9
d3d_set_projection_ortho(0,0,display_get_width(),display_get_height(),0)
d3d_set_hidden(false)
draw_clear(0)
draw_sprite(argument0,0,0,0)
for(xx=0 xx<global.cx xx+=1)
for(yy=0 yy<global.cy yy+=1)
{
height=color_get_red(draw_getpixel(xx,yy))/255*global.cz
for(zz=0 zz<height zz+=1)
if zz>height-3
ds_grid_set(global.layer[zz],xx,yy, 1)
else
ds_grid_set(global.layer[zz],xx,yy, 2)
}
d3d_set_hidden(true)
重点在于上段代码的height高度取得。
2014年06月12日 12点06分 14
level 9
拼凑个最简单的偶的黑白世界,得空搞把枪,就是FPS了。
2014年06月12日 13点06分 15
都是在哪个事件写,能给个fps游戏的范例吗
2014年06月12日 13点06分
回复 囧乐乐day :主要不会走路和画地板,而且怎么赋予材质?
2014年06月12日 13点06分
回复 囧乐乐day : https://tieba.baidu.com/p/2318516818 可参考
2014年06月12日 23点06分
回复 yeyeabc001 :怎么遍历循环在每32*32的上面放一个随机的obj(这obj也是32*32——))
2014年06月20日 12点06分
1