Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_34031325
engine
提交
0c874b76
E
engine
项目概览
qq_34031325
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
0c874b76
编写于
8月 17, 2015
作者:
E
Eric Seidel
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #668 from eseidelGoogle/music_asset
Make Asteroids.apk use background music from its bundle
上级
909a437c
908490d0
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
32 addition
and
24 deletion
+32
-24
examples/game/README.md
examples/game/README.md
+4
-2
examples/game/assets/temp_music.aac
examples/game/assets/temp_music.aac
+0
-0
examples/game/lib/main.dart
examples/game/lib/main.dart
+25
-15
examples/game/lib/sound.dart
examples/game/lib/sound.dart
+2
-5
examples/game/lib/sprites.dart
examples/game/lib/sprites.dart
+0
-2
examples/game/sky.yaml
examples/game/sky.yaml
+1
-0
未找到文件。
examples/game/README.md
浏览文件 @
0c874b76
Assets for this game are taken from Galactic Guardian:
https://github.com/slembcke/GalacticGuardian.spritebuilder
\ No newline at end of file
Assets for this game are from Galactic Guardian:
https://github.com/slembcke/GalacticGuardian.spritebuilder
And are used under MIT license:
https://github.com/slembcke/GalacticGuardian.spritebuilder/pull/2
examples/game/assets/temp_music.aac
0 → 100644
浏览文件 @
0c874b76
文件已添加
examples/game/lib/main.dart
浏览文件 @
0c874b76
...
...
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
'dart:async'
;
import
'package:sky/mojo/asset_bundle.dart'
;
import
'package:sky/theme/colors.dart'
as
colors
;
import
'package:sky/rendering/object.dart'
;
...
...
@@ -24,40 +26,48 @@ AssetBundle _initBundle() {
final
AssetBundle
_bundle
=
_initBundle
();
ImageMap
_
loader
;
ImageMap
_
imageMap
;
SpriteSheet
_spriteSheet
;
SpriteSheet
_spriteSheetUI
;
GameDemoApp
_app
;
Map
<
String
,
SoundEffect
>
_sounds
=
{};
main
()
async
{
_loader
=
new
ImageMap
(
_bundle
);
_imageMap
=
new
ImageMap
(
_bundle
);
// Use a list to wait on all loads in parallel just before starting the app.
List
loads
=
[];
await
_loader
.
load
([
loads
.
add
(
_imageMap
.
load
([
'assets/nebula.png'
,
'assets/sprites.png'
,
'assets/starfield.png'
,
'assets/game_ui.png'
,
]);
])
)
;
// TODO(eseidel): These load in serial which is bad for startup!
String
json
=
await
_bundle
.
loadString
(
'assets/sprites.json'
);
_spriteSheet
=
new
SpriteSheet
(
_
loader
[
'assets/sprites.png'
],
json
);
_spriteSheet
=
new
SpriteSheet
(
_
imageMap
[
'assets/sprites.png'
],
json
);
json
=
await
_bundle
.
loadString
(
'assets/game_ui.json'
);
_spriteSheetUI
=
new
SpriteSheet
(
_
loader
[
"assets/game_ui.png"
],
json
);
_spriteSheetUI
=
new
SpriteSheet
(
_
imageMap
[
'assets/game_ui.png'
],
json
);
_app
=
new
GameDemoApp
();
_sounds
[
"explosion"
]
=
new
SoundEffect
(
_bundle
.
load
(
'assets/explosion.wav'
));
_sounds
[
"laser"
]
=
new
SoundEffect
(
_bundle
.
load
(
'assets/laser.wav'
));
// TODO(eseidel): SoundEffect doesn't really do anything except hold a future.
_sounds
[
'explosion'
]
=
new
SoundEffect
(
_bundle
.
load
(
'assets/explosion.wav'
));
_sounds
[
'laser'
]
=
new
SoundEffect
(
_bundle
.
load
(
'assets/laser.wav'
));
await
_sounds
[
"explosion"
].
load
();
await
_sounds
[
"laser"
].
load
();
loads
.
addAll
([
_sounds
[
'explosion'
].
load
(),
_sounds
[
'laser'
].
load
(),
]);
SoundTrackPlayer
stPlayer
=
SoundTrackPlayer
.
sharedInstance
();
SoundTrack
music
=
await
stPlayer
.
load
(
'https://github.com/slembcke/GalacticGuardian.spritebuilder/raw/GDC/Source/Resources/TempMusic.aac'
);
SoundTrack
music
=
await
stPlayer
.
load
(
_bundle
.
load
(
'assets/temp_music.aac'
)
);
stPlayer
.
play
(
music
);
await
Future
.
wait
(
loads
);
runApp
(
_app
);
}
...
...
@@ -111,7 +121,7 @@ class GameDemoApp extends App {
_game
=
new
GameDemoWorld
(
_app
,
navigator
,
_
loader
,
_
imageMap
,
_spriteSheet
,
_spriteSheetUI
,
_sounds
,
...
...
@@ -121,8 +131,8 @@ class GameDemoApp extends App {
);
navigator
.
pushNamed
(
'/game'
);
},
texture:
_spriteSheetUI
[
"btn_play_up.png"
],
textureDown:
_spriteSheetUI
[
"btn_play_down.png"
],
texture:
_spriteSheetUI
[
'btn_play_up.png'
],
textureDown:
_spriteSheetUI
[
'btn_play_down.png'
],
width:
128.0
,
height:
128.0
),
...
...
@@ -231,7 +241,7 @@ class _TextureButtonToken {
class
MainScreenBackground
extends
NodeWithSize
{
MainScreenBackground
()
:
super
(
new
Size
(
1024.0
,
1024.0
))
{
Sprite
sprtBackground
=
new
Sprite
.
fromImage
(
_
loader
[
"assets/starfield.png"
]);
Sprite
sprtBackground
=
new
Sprite
.
fromImage
(
_
imageMap
[
'assets/starfield.png'
]);
sprtBackground
.
position
=
new
Point
(
512.0
,
512.0
);
addChild
(
sprtBackground
);
...
...
examples/game/lib/sound.dart
浏览文件 @
0c874b76
...
...
@@ -170,16 +170,13 @@ class SoundTrackPlayer {
MediaServiceProxy
_mediaService
;
Future
<
SoundTrack
>
load
(
String
url
)
async
{
Future
<
SoundTrack
>
load
(
Future
<
MojoDataPipeConsumer
>
pipe
)
async
{
// Create media player
SoundTrack
soundTrack
=
new
SoundTrack
();
soundTrack
.
_player
=
new
MediaPlayerProxy
.
unbound
();
_mediaService
.
ptr
.
createPlayer
(
soundTrack
.
_player
);
// Load and prepare
UrlResponse
response
=
await
fetchUrl
(
url
);
await
soundTrack
.
_player
.
ptr
.
prepare
(
response
.
body
);
await
soundTrack
.
_player
.
ptr
.
prepare
(
await
pipe
);
return
soundTrack
;
}
...
...
examples/game/lib/sprites.dart
浏览文件 @
0c874b76
...
...
@@ -11,11 +11,9 @@ import 'dart:typed_data';
import
'dart:sky'
;
import
'package:mojo/core.dart'
;
import
'package:mojo/mojo/url_response.mojom.dart'
;
import
'package:sky/animation/curves.dart'
;
import
'package:sky/base/scheduler.dart'
as
scheduler
;
import
'package:sky/mojo/asset_bundle.dart'
;
import
'package:sky/mojo/net/fetch.dart'
;
import
'package:sky/mojo/shell.dart'
as
shell
;
import
'package:sky/rendering/box.dart'
;
import
'package:sky/rendering/object.dart'
;
...
...
examples/game/sky.yaml
浏览文件 @
0c874b76
...
...
@@ -9,3 +9,4 @@ assets:
-
assets/laser.wav
-
assets/levelup.wav
-
assets/pickup.wav
-
assets/temp_music.aac
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录