http://hirohirosystem.com/003_cargame/cargameSV061.html
誰かバグを見つけて。つぃまで。
・コーデイング
stszy = parseInt(INTSECDATA[3].substr(6,3)) - 90;
stszx = parseInt(INTSECDATA[3].substr(2,3)) + 90*600/800;
function ib_draw(){
背景の描画
if(intbl[3].tszy > stszy-60){
sj = 10 + wj;
wj = 0;
for(j=sj; j>7; j--){
scale = 600/(2*(800-stszy + 120 - (sj -j)*30));
if((stszy + (sj - j)*30)<intbl[1].tszy - 15){
draw_obj(img_gobj[j], stszx + 60 - (sj-j)*30*600/800, stszy + (sj-j)*30, scale);
wj = wj + 1;
}
}
}
交差点の描画
for(j=0; j<14; j++){
scale = 600/(2*(800-intbl[3].tszy + 120 - j*30));
if((intbl[3].tszy + j*30)<800){
draw_obj(img_gobj[j], intbl[3].tszx + 60 - j*30*600/800, intbl[3].tszy + j*30, scale);
}
}
}
修正
var wj = 1;
var sj = 10;
var svj = 0;
var stszx = 100;
var stszy = 10;
stszy = parseInt(INTSECDATA[3].substr(6,3)) - 90;
stszx = parseInt(INTSECDATA[3].substr(2,3)) + 90*600/800;
function lu_draw(){
if(intbl[3].tszy > stszy-60){
sj = 18 + wj;
sdj = 18 - Math.ceil(wj);
//wj = 0;
for(j=sdj; j<=18; j++){
shj = j - sdj;
// shj = sj - j;
scale = 600/(2*(1 + 800-stszy + 120 - shj*30));
if((stszy + shj*30)<intbl[1].tszy - 15){
if(j <= 18){
draw_obj(img_gobj[j], stszx + 60 - shj*30*600/800, stszy + shj*30, scale);
//wj = wj + 1;
}
}
}
wj = wj + 0.1;
}
}
・修正2(滑らか描画)
function lu_draw(){
if(intbl[3].tszy > stszy-60){
sj = 18 - wj;
wj = 0;
for(j=sj; j<19; j++){
scale = 600/(2*(800-stszy + 120 + (j - sj)*30));
if((stszy + (j - sj)*30)<intbl[1].tszy - 15){
if(18 >= j){
draw_obj(img_gobj[j], stszx + 60 - (sj-j)*30*600/800, stszy + (sj-j)*30, scale);
wj = wj + 1;
}
}
}
}
}