const RoulettePicPath = "pictures/UI_MiniGame/Roulette/"; var RouletteImgName = "PN_RouletteBase"; const RouletteBaseX = 100; var RouletteRad = 0; var RouletteSpeed = 0; var RouletteStopFlg = false; Game_Interpreter.prototype.Roulette_Start = function () { RouletteFlm = 0; RouletteRad = 0; RouletteSpeed = 0; RouletteStopFlame = 0; RouletteStopFlg = false; this.SetSpriteFIn(PN_RouletteBack , RoulettePicPath + "PN_RouletteBack" , 0 , 0 , 0 , 0 , 15); this.SetSpriteFIn(PN_RouletteBase , RoulettePicPath + "PN_RouletteBase" , RouletteBaseX , 0 , 0 , 0 , 15); this.SetSpriteFInC(PN_RouletteImg , RoulettePicPath + RouletteImgName , RouletteBaseX + 418 , 337 , 0 , 0 , 15); this.SetSpriteFIn(PN_RouletteTop , RoulettePicPath + "PN_RouletteTop" , RouletteBaseX , 0 , 0 , 0 , 15); this.SetSpriteFIn(PN_RouletteCk , RoulettePicPath + "PN_RouletteCk" , RouletteBaseX , 0 , 0 , 0 , 15); }; var RouletteFlm = 0; var RouletteStopFlame = 0; const RouletteMaxSpeed = 15; const RouletteMaxSpeedFlm = 120; const RouletteStopFlm = 120; const VN_手動停止角度 = 1093; Game_Interpreter.prototype.Roulette_Update = function () { RouletteFlm++; let f手動停止角度 = $gameVariables.value(VN_手動停止角度); if (!RouletteStopFlg) { if (RouletteSpeed < RouletteMaxSpeed) RouletteSpeed += RouletteMaxSpeed / RouletteMaxSpeedFlm; else RouletteSpeed = RouletteMaxSpeed; } if (TouchInput.isPressed() && RouletteFlm > RouletteMaxSpeedFlm && !RouletteStopFlg) { RouletteStopFlg = true; } if (RouletteStopFlg) { RouletteStopFlame++; if (RouletteSpeed > 0) { RouletteSpeed = RouletteMaxSpeed * ((RouletteStopFlame - RouletteStopFlm) / RouletteStopFlm); } else { RouletteSpeed = 0; } RouletteSpeed *= -1; } RouletteRad += RouletteSpeed; this.AngleSprite(PN_RouletteImg , RouletteRad); let f現在角度 = Math.round(RouletteRad % 360); if (f手動停止角度 > 0) { if (RouletteStopFlame >= RouletteStopFlm - 3) { if (Math.abs(f手動停止角度 - f現在角度) > 3) { let fValue = RouletteStopFlm - RouletteStopFlame; if (fValue < 5) RouletteStopFlame = RouletteStopFlm - 5; } else { RouletteStopFlame = RouletteStopFlm + 1; } } } if (RouletteStopFlame > RouletteStopFlm) { $gameVariables.setValue(VN_ミニゲーム結果 , f現在角度); $gameVariables.setValue(VN_手動停止角度 ,0); return false; } return true; } Game_Interpreter.prototype.Roulette_End = function () { this.MoveSprite(PN_RouletteBack , true , true , 7 , 0); this.MoveSprite(PN_RouletteBase , true , true , 7 , 0); this.MoveSprite(PN_RouletteImg , true , true , 7 , 0); this.MoveSprite(PN_RouletteTop , true , true , 7 , 0); this.MoveSprite(PN_RouletteCk , true , true , 7 , 0); }