#Javascript ES6 202 181 bytes
(w,h,x,y,s)=>(a=Array(w).fill(0).map(_=>Array(h).fill` `),eval("for(vx=vy=1;s--;x+=vx,y+=vy){a[x][y]=0;if(!x||x==w-1)vx*=-1;if(!y||y==h-1)vy*=-1;}"),a.reduce((a,b)=>a+` `+b.join``))
Not very golfed, I take a another look at it once I get home