チェンジセット 1490
- コミット日時:
- 2008/10/02 21:51:32 (5 年前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
ruby/jsplash/trunk/client2/jsplash/player.js
r1489 r1490 106 106 JSplash.$html = JSplash.$create.bind(JSplash, 'http://www.w3.org/1999/xhtml'); 107 107 108 JSplash.load_swf = function(dat ) {108 JSplash.load_swf = function(dat, next_file) { 109 109 if (!JSplash.swfdata) 110 { 110 111 JSplash.swfdata = dat; 112 if (next_file) { 113 JSplash.$next(function(){ 114 JSplash.require('./'+JSplash.LOAD_DIR+'/'+next_file); 115 }); 116 return; 117 } 118 } 119 else { 120 var tl = dat.taglist; 121 if (tl) { 122 var dest = JSplash.swfdata.taglist; 123 var len = tl.length; 124 for (var i = 0;i < len;i++) { 125 dest.push(tl[i]); 126 } 127 } 128 } 111 129 112 130 JSplash.$next( JSplash.initPlayer ); ruby/jsplash/trunk/jextract.rb
r1479 r1490 20 20 21 21 "L:#{vL},R:#{vR},T:#{vT},B:#{vB}" 22 end 23 24 def read_gradient(ls, tp) # 0=linear 25 mat_e = ls.elements['./matrix'] 26 glist = ls.elements['./gradientColors'].elements 27 28 stops = [] 29 rgbs = [] 30 31 glist.each {|gi| 32 stp = gi.attributes['position'] 33 stops << stp 34 rgbs << "'#{make_rgb(gi.elements['./color/Color'].attributes)}'" 35 } 36 37 trans = mat_e.elements['./Transform'].attributes if mat_e 38 mov = nil 39 scl = nil 40 skw = nil 41 if trans 42 a = trans 43 44 mov = ",mov:[#{a['transX']},#{a['transY']}]" if a['transX'] 45 scl = ",scl:[#{a['scaleX']},#{a['scaleY']}]" if a['scaleX'] 46 skw = ",skw:[#{a['skewX']},#{a['skewY']}]" if a['skewX'] 47 end 48 49 "{grad:#{tp+1},s:[#{stops.join(',')}],c:[#{rgbs.join(',')}]#{mov}#{scl}#{skw}}" 22 50 end 23 51 … … 28 56 when 'Solid' 29 57 styles << "{rgb:'#{make_rgb(ch.elements['./color/Color'].attributes)}'}" 58 when 'LinearGradient' 59 styles << read_gradient(ch, 0) 30 60 end 31 61 } … … 193 223 def self.readDefineSprite(tg, nest, fi) 194 224 lmap = Hash.new 195 tl = parse_taglist(tg.elements['./tags'].elements, lmap, nest+1) 225 tl = parse_taglist(tg.elements['./tags'].elements, lmap, nest+1).join(",\n") 196 226 lmap = (lmap.empty?) ? nil : ",label_map:#{dump_label_map(lmap)}" 197 227 … … 250 280 } 251 281 252 tags .join(",\n")282 tags 253 283 end 254 284 … … 264 294 #---------------------------- 265 295 266 in_swf = ARGV[0] 296 in_swf = ARGV[0] 297 out_dir = ARGV[1] 267 298 if !in_swf 268 299 puts "USAGE: ruby jconvert.rb [in.swf]" 269 300 exit 301 end 302 303 if !out_dir 304 out_dir = "movie_temp_out" 305 Dir::mkdir(out_dir) if !File.exists?(out_dir) 270 306 end 271 307 … … 287 323 288 324 lmap = Hash.new 289 puts "JSplash.load_swf( {" 290 puts " header: {frameRate: #{swf.frame_rate}, frames: #{swf.frames}, width: #{swf.width}, height: #{swf.height}}," 291 puts " taglist: [" 292 puts parse_taglist(tags.elements, lmap) 293 puts " ], label_map:#{dump_label_map(lmap)}\n} );" 325 326 top_tags = parse_taglist(tags.elements, lmap) 327 split_file = (top_tags.length > 20000) 328 329 out1 = "#{out_dir}/movie1.js" 330 331 File.open(out1,'w'){|f1| 332 next_file = nil 333 tags_1 = top_tags.slice!(0, 20000) 334 if split_file 335 next_file = ", 'movie2.js'" 336 end 337 338 f1.puts "JSplash.load_swf( {" 339 f1.puts " header: {frameRate: #{swf.frame_rate}, frames: #{swf.frames}, width: #{swf.width}, height: #{swf.height}}," 340 f1.puts " taglist: [" 341 f1.puts tags_1.join(",\n") 342 f1.puts " ], label_map:#{dump_label_map(lmap)}\n}#{next_file} );" 343 } 344 345 if split_file 346 out2 = "#{out_dir}/movie2.js" 347 File.open(out2,'w'){|f2| 348 f2.puts "JSplash.load_swf( {" 349 f2.puts " taglist: [" 350 f2.puts top_tags.join(",\n") 351 f2.puts " ]} );" 352 } 353 end

