level 5
我用一个实例创造了很多物体(相当于克隆了几个),如何判断他们的y是不是都相等
2014年06月01日 11点06分
1
level 5
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
随机地形的类型我可以(choose("xxx","xx","x"))可是要像minecraft一样,如何在固定的宽度和高度,随机区域呢?
-----------------------------------------------------
| | |
| xxx | |
----------------------- x |
| | |
| xx | |
------------------------------------------------------总之随机一个x1x2y1y2,会出现一个问题:超级小或占了这个范围,甚至随机到负数
2014年06月06日 13点06分
5
level 5
回复上一楼:
哎呀,空格表达不出来
我是这样写代码的
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
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分
level 5
告诉你吧。。一开始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