OSDN Git Service

辛夷祭当日の変更を含む最終コミット
[h58pcdgame/GameScriptCoreLibrary.git] / www / corelib / classes / HorizonalScrollStageClass.js
1 \r
2 var HorizonalScrollStageClass = function()\r
3 {\r
4         HorizonalScrollStageClass.base.apply(this, []);\r
5 \r
6         this.scrollX = 0;\r
7         this.scrollMaxX =1280 - 640;    //\83X\83e\81[\83W\82Ì\89¡\82Ì\92·\82³-640\r
8         \r
9 }.extend(GameStage, {\r
10         className: "HorizonalScrollStageClass",\r
11         timerTick: function(){\r
12 \r
13                 HorizonalScrollStageClass.base.prototype.timerTick.call(this);\r
14                 if(this.userControlledCharacter){\r
15                         //\83L\83\83\83\89\83N\83^\81[\82ð\92Ç\94ö\82·\82é\r
16                         this.scrollTo(this.getScrollLocation());\r
17                 }\r
18         },\r
19         \r
20         // \8eq\83X\83e\81[\83W\82Å\81A\91\80\8dì\92\86\83L\83\83\83\89\88È\8aO\82ð\92\86\90S\82É\8e\9d\82Á\82Ä\82«\82½\82¢\82Æ\82«\82Í\82±\82Ì\8aÖ\90\94\82ð\83I\81[\83o\81[\83\89\83C\83h\82·\82é\r
21         getScrollLocation: function(){\r
22                 var pos = 0;\r
23                 if(this.userControlledCharacter){\r
24                         return this.userControlledCharacter.origin.x - 320;\r
25                 }\r
26                 \r
27                 return 0;\r
28         },\r
29         draw: function(){\r
30                 this.drawBackground();\r
31                 this.drawAsPoint(this.scrollX, 0);\r
32                 if(this.waterLevel){\r
33                         this.drawWater();\r
34                 }\r
35         },\r
36         drawBackground: function(){\r
37                 if(this.background){\r
38                         //\89æ\96Ê\88Ê\92u\82É\8d\87\82í\82¹\82Ä\89æ\91\9c\82ð\83X\83N\83\8d\81[\83\8b\95\\8e¦\82·\82é\r
39                         var width = this.background.width;\r
40                         var pos = -((this.scrollX / 2) % width);\r
41                         for(;pos < this.background.width; pos += width)\r
42                         {\r
43                                 this.mainContext.drawImage(this.background, pos, 0, this.background.width, this.background.height);\r
44                         }\r
45                 } else{\r
46                         //\83L\83\83\83\93\83o\83X\82ð\91S\8fÁ\8b\8e\r
47                         this.mainContext.clearRect(0, 0, this.mainCanvas.width, this.mainCanvas.height);\r
48                 }\r
49                 if(this.collisionMapContext){\r
50                         this.collisionMapContext.clearRect(0, 0, this.collisionMapCanvas.width, this.collisionMapCanvas.height);\r
51                 }\r
52         },\r
53         \r
54         //\83X\83N\83\8d\81[\83\8b\82µ\82½\82¢\82Æ\82«\82É\81Atick\96\88\82É\8cÄ\82Ô\81B\r
55         scrollTo: function(x){\r
56                 this.scrollX += (x - this.scrollX) / 7;\r
57                 if(this.scrollX > this.scrollMaxX){\r
58                         this.scrollX = this.scrollMaxX;\r
59                 }\r
60                 if(this.scrollX < 0){\r
61                         this.scrollX = 0;\r
62                 }\r
63         }\r
64 });\r
65 \r