統計
| ブランチ: | リビジョン:

pictcode / app / webroot / js / pictcode / sprite_data.js @ 0b1b8047

履歴 | 表示 | アノテート | ダウンロード (7.881 KB)

1
define(["utility"], function(utility){
2

    
3
  //----------------Sprite画像----------------//
4

    
5
  var spriteImageInfos = [
6
  
7
  //Vehicle
8
  {imageNames:["001_char_img_car_010.png", "001_char_img_car_020.png"], category:"car", imageKey:0},
9
  {imageNames:["001_char_img_car_030.png", "001_char_img_car_040.png"], category:"car", imageKey:1},
10
  {imageNames:["001_char_img_car_050.png", "001_char_img_car_060.png"], category:"car", imageKey:2},
11
  {imageNames:["001_char_img_car_070.png", "001_char_img_car_080.png"], category:"car", imageKey:3},
12
  {imageNames:["001_char_img_bus_010.png", "001_char_img_bus_020.png"], category:"car", imageKey:4},
13
  {imageNames:["001_char_img_bus_030.png", "001_char_img_bus_040.png"], category:"car", imageKey:5},
14
  {imageNames:["car03.png"], category:"vehicle", imageKey:1},
15
  
16
  //Animal
17
  {imageNames:["001_char_img_dolphin_010.png", "001_char_img_dolphin_020.png"], category:"animal", imageKey:100},
18
  {imageNames:["001_char_img_whale_010.png", "001_char_img_whale_020.png"], category:"animal", imageKey:101},
19
  {imageNames:["001_char_img_dog_010.png"], category:"animal", imageKey:102},
20
  {imageNames:["001_char_img_dog_020.png", "001_char_img_dog_030.png"], category:"animal", imageKey:103},
21
  {imageNames:["001_char_img_dog_040.png"], category:"animal", imageKey:104},
22
  {imageNames:["001_char_img_dog_050.png", "001_char_img_dog_060.png"], category:"animal", imageKey:105},
23
  {imageNames:["001_char_img_cat_010.png"], category:"animal", imageKey:106},
24
  {imageNames:["001_char_img_cat_020.png", "001_char_img_cat_030.png"], category:"animal", imageKey:107},
25
  {imageNames:["001_char_img_mouse_010.png"], category:"animal", imageKey:108},
26
  {imageNames:["001_char_img_mouse_020.png", "001_char_img_mouse_030.png"], category:"animal", imageKey:109},
27
  {imageNames:["001_char_img_mole_010.png"], category:"animal", imageKey:110},
28
  {imageNames:["001_char_img_mole_020.png"], category:"animal", imageKey:111},
29
  {imageNames:["001_char_img_mole_030.png"], category:"animal", imageKey:112},
30

    
31
  //Background
32
  {imageNames:["001_char_bg_bg_010.png"], category:"background", imageKey:200},
33
  {imageNames:["001_char_bg_bg_020.png"], category:"background", imageKey:201},
34
  {imageNames:["001_char_bg_bg_030.png"], category:"background", imageKey:202},
35
  {imageNames:["001_char_bg_bg_040.png"], category:"background", imageKey:203},
36

    
37
  //Artifact
38
  {imageNames:["001_char_img_pipe_010.png"], category:"artifact", imageKey:300},
39

    
40
  //Airplane
41
  {imageNames:["001_char_img_airplane_010.png"], category:"airplane", imageKey:400},
42
  {imageNames:["001_char_img_airplane_020.png"], category:"airplane", imageKey:401},
43
  {imageNames:["001_char_img_airplane_030.png"], category:"airplane", imageKey:402},
44
  {imageNames:["001_char_img_airplane_040.png"], category:"airplane", imageKey:403},
45
  {imageNames:["001_char_img_bomb_010.png", "001_char_img_bomb_020.png"], category:"airplane", imageKey:404},
46
  {imageNames:["001_char_img_bomb_030.png", "001_char_img_bomb_040.png"], category:"airplane", imageKey:405},
47

    
48
  //Board
49
  {imageNames:["001_char_img_display_010.png"], category:"board", imageKey:500},
50
  {imageNames:["001_char_img_display_020.png"], category:"board", imageKey:501},
51
  {imageNames:["001_char_img_display_030.png"], category:"board", imageKey:502},
52
  {imageNames:["game_clear.png"], category:"board", imageKey:503},
53
  {imageNames:["game_over.png"], category:"board", imageKey:504},
54
  {imageNames:["arrow1.png"], category:"board", imageKey:505},
55
  {imageNames:["transparent_board.png"], category:"board", imageKey:506},
56

    
57
  //Fish
58
  {imageNames:["001_char_img_fish_010.png", "001_char_img_fish_020.png"], category:"fish", imageKey:600},
59
  {imageNames:["001_char_img_fish_030.png", "001_char_img_fish_040.png"], category:"fish", imageKey:601},
60
  {imageNames:["001_char_img_fish_050.png", "001_char_img_fish_060.png"], category:"fish", imageKey:602},
61
  {imageNames:["shell.png"], category:"fish", imageKey:603},
62

    
63
  //Instrument
64
  {imageNames:["001_char_img_inst_010.png", "001_char_img_inst_020.png"], category:"instrument", imageKey:700},
65
  {imageNames:["001_char_img_inst_030.png", "001_char_img_inst_040.png"], category:"instrument", imageKey:701},
66
  {imageNames:["001_char_img_inst_050.png", "001_char_img_inst_060.png"], category:"instrument", imageKey:702},
67
  {imageNames:["music_note.png"], category:"instrument", imageKey:703},
68
  ];
69

    
70
  function loadSpriteImages(sprts, didLoadImages){
71
    var loadingCount = 0;
72
    var isLoading = false;
73
    for (var i = 0; i < sprts.length; i++) {
74

    
75
      var sprite = sprts[i];
76
      var spriteImageInfo = _.find(spriteImageInfos, function(spImgInf){
77
        return sprite.imageKey == spImgInf.imageKey;
78
      });
79

    
80
      // if (!spriteImageInfo || spriteImageInfo.images) {
81
      //   continue;
82
      // };
83
      isLoading = true;
84

    
85
      spriteImageInfo.images = [];
86
      sprite.images = spriteImageInfo.images;
87
      loadingCount += spriteImageInfo.imageNames.length;
88
      // var lc = 0;
89
      _.each(spriteImageInfo.imageNames, function(imageName){
90
        //var path = "image/sprite/" + spriteImageInfo.category + "/" + imageName;
91
        var path = "/img/pictcode/sprite/" + spriteImageInfo.category + "/" + imageName;
92
        var spImage = new Image();
93
        spImage.src = path;
94
        spriteImageInfo.images.push(spImage);
95
        spImage.onload = function(){
96
          // lc++;
97
          // if (lc >= spriteImageInfo.imageNames.length) {
98
          //   loadingCount--;
99
          // };
100
          loadingCount--;
101
          if (loadingCount <= 0) {
102
            didLoadImages();
103
          };
104
        }
105
      });
106
    };
107
    if (!isLoading) {
108
      didLoadImages();
109
    };
110
  }
111

    
112
  function getCategorizedSpriteImageInfos(category, initSize){
113
    var categorizedImageInfos = [];
114
    _.each(spriteImageInfos, function(spriteImageInfo){
115
      if (spriteImageInfo.category == category) {
116
        categorizedImageInfos.push(spriteImageInfo);
117
        if (!spriteImageInfo.images) {
118
          spriteImageInfo.images = [];
119
          _.each(spriteImageInfo.imageNames, function(imageName){
120
            //var path = "image/sprite/" + spriteImageInfo.category + "/" + imageName;
121
            var path = "/img/pictcode/sprite/" + spriteImageInfo.category + "/" + imageName;
122
            var spImage = new Image();
123
            spImage.src = path;
124
            spImage.width = initSize/2;
125
            spImage.height = initSize/2;
126
            spriteImageInfo.images.push(spImage);
127
          });
128
          spriteImageInfo.images[0].onload = function(){
129
            setSpriteImageSize(spriteImageInfo.images[0], initSize);
130
          }
131
        }else{
132
          var spImage = spriteImageInfo.images[0];
133
          setSpriteImageSize(spriteImageInfo.images[0], initSize);
134
        };
135
      };
136
    });
137
    return categorizedImageInfos;
138
  }
139

    
140
  function setSpriteImageSize(spImage, size){
141
    var naturalSize = utility.getImageNaturalSize(spImage);
142
    var width = size * naturalSize.width / (naturalSize.width+naturalSize.height);
143
    var height = size * naturalSize.height / (naturalSize.width+naturalSize.height);
144
    spImage.width = width;
145
    spImage.height = height;
146
  }
147

    
148
  function findSpriteImageInfoFromImageKey(imageKey){
149
    var spriteImageInfo = _.find(spriteImageInfos, function(spImgInf){
150
      return spImgInf.imageKey == imageKey;
151
    });
152
    return spriteImageInfo;
153
  }
154

    
155

    
156
  //----------------カテゴリ画像----------------//
157

    
158
  var categoryInfos =[
159
  {name: "car", imageKey: "ctgry_spr_004"},
160
  {name: "airplane", imageKey: "ctgry_spr_006"},
161
  {name: "animal", imageKey: "ctgry_spr_001"},
162
  {name: "fish", imageKey: "ctgry_spr_008"},
163
  {name: "background", imageKey: "ctgry_spr_003"},
164
  {name: "instrument", imageKey: "ctgry_spr_007"},
165
  {name: "artifact", imageKey: "ctgry_spr_002"},
166
  {name: "board", imageKey: "ctgry_spr_005"},
167
  ];
168

    
169
  return {
170
    spriteImageInfos:spriteImageInfos,
171
    loadSpriteImages:loadSpriteImages,
172
    getCategorizedSpriteImageInfos:getCategorizedSpriteImageInfos,
173
    findSpriteImageInfoFromImageKey:findSpriteImageInfoFromImageKey,
174
    categoryInfos:categoryInfos,
175
  };
176
});