image_xscale将翻转精灵,但它也会翻转精灵蒙版(mask),这可能会导致问题。我们使用draw_sprite_ext()的部分原因,就是我们想尽量避开所有这些可能导致问题的内置变量(译注:那些跟移动相关的也是坑~ 能自定义就自定义吧~)。在step事件中添加几行: //角色朝向if(left){facing=-1;}elseif(right){facing=1;} 运行...
//draw sprite draw_sprite_ext(sprite,frame,xPos,yPos,xScale * facing,yScale,angle,color,alpha); Now we are almost ready to run the game and see our sprite being drawn on screen. Create a room, name it whatever you want, and place your oPlayer object in the room. When you run th...
由于我们绕过了像image_speed和sprite_index这样的GMS内置函数,我们需要自己绘制精灵。 这真的很容易! 我们只需要使用draw_sprite_ext! //draw事件draw_sprite_ext(animSprite,currentFrame,x,y,1,1,0,c_white,1); 就是这样了! 很简单吧? 如果您对如何改进此问题有任何疑问或意见,请告诉我们。我会尽快回复。...
现在我们已经设置完看上面那些玩意儿,我们要开始使用它们。 由于我们绕过了像image_speed和sprite_index这样的GMS内置函数,我们需要自己绘制精灵。 这真的很容易! 我们只需要使用draw_sprite_ext! //draw事件 draw_sprite_ext ( animSprite, currentFrame, x, y, 1, 1, 0, c_white, 1 ); ...
lastSprite = sprite; 复制代码 将End Step事件添加到 oPlayer,然后添加一些代码。 xPos = x; yPos = y; x += xSpeed; y += ySpeed; //animation frame_reset(); 复制代码 现在让我们跳到step事件。 我们可以删除我们在之前那篇文章中添加的几乎所有代码,因为大多数代码只是为了展示draw_sprite_ext的不...
GameMaker的绘制事件会把原有的精灵替换掉。因此呢,我们必须重新绘制一遍自己,对于GameMaker8.1及以上版本可以直接使用draw_self();函数即可重绘自己。但是这不意味着之前的版本做不到,之前的版本是有等效函数的,但是相对麻烦,那就是使用draw_sprite_ext函数,里面的参数全填当前精灵的状态(例如image_...
现在让我们跳到step事件。 我们可以删除我们在之前那篇文章中添加的几乎所有代码,因为大多数代码只是为了展示 draw_sprite_ext 的不同部分。 查看下面的代码,并确保你的step事件看起来完全相同。 //buttonsplayer_buttons();//animationframe_counter();//state switchswitchcurrentState{casestates.normal:normal_state...
为obj_player添加绘制事件(draw): //***绘制自己draw_sprite_ext(sprite_index,image_index,floor(x),floor(y),image_xscale,image_yscale,0,c_white,1);//***绘制血槽draw_sprite_ext(spr_blood,hp<6,112,210,-hp,1,0,c_white,1); 为obj_enemy添加绘制事件(draw): ...
draw_sprite_part(sprite,subimg,left,top,width,height,x,y) 在坐标(x,y)绘制指定范围内的子图像的子图区域 (-1 代表当前子图像)(从子图像内位置 left,top,width,height )。 draw_sprite_ext(sprite,subimg,x,y,xscale,yscale,rot,color,alpha) 代表所要绘制的精灵,subimg 代表要绘制的具体子图像,(x,...
if(sprite_index != -1) drawSelf(); 在设置绘制目标为表面后,将所有实例的图像绘制到表面上,但是不包含背景和贴图。注意:drawSelf()是在第十八章中提到的自定义脚本,其内容是draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);,并...