Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
ed999dca
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
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,发现更多精彩内容 >>
提交
ed999dca
编写于
10月 08, 2015
作者:
V
Viktor Lidholt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updates sprite physics test
上级
4f5a0320
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
31 addition
and
20 deletion
+31
-20
examples/game/test_physics.dart
examples/game/test_physics.dart
+31
-20
未找到文件。
examples/game/test_physics.dart
浏览文件 @
ed999dca
...
...
@@ -45,24 +45,11 @@ main() async {
}
class
TestBed
extends
NodeWithSize
{
Sprite
_ship
;
Sprite
_obstacle
;
PhysicsNode
_physicsNode
;
TestBed
()
:
super
(
new
Size
(
1024.0
,
1024.0
))
{
PhysicsNode
physicsNode
=
new
PhysicsNode
(
new
Offset
(
0.0
,
100.0
));
_ship
=
new
Sprite
(
_spriteSheet
[
"ship.png"
]);
_ship
.
position
=
new
Point
(
512.0
,
512.0
);
_ship
.
size
=
new
Size
(
64.0
,
64.0
);
_ship
.
physicsBody
=
new
PhysicsBody
(
new
PhysicsShapeGroup
([
new
PhysicsShapeCircle
(
Point
.
origin
,
32.0
),
new
PhysicsShapePolygon
([
new
Point
(
0.0
,
0.0
),
new
Point
(
50.0
,
0.0
),
new
Point
(
50.0
,
50.0
),
new
Point
(
0.0
,
50.0
)])
]),
friction:
0.5
,
tag:
"ship"
);
physicsNode
.
addChild
(
_ship
);
_physicsNode
=
new
PhysicsNode
(
new
Offset
(
0.0
,
100.0
));
_obstacle
=
new
Sprite
(
_spriteSheet
[
"ship.png"
]);
_obstacle
.
position
=
new
Point
(
532.0
,
800.0
);
...
...
@@ -73,23 +60,47 @@ class TestBed extends NodeWithSize {
friction:
0.5
,
tag:
"obstacle"
);
physicsNode
.
addChild
(
_obstacle
);
physicsNode
.
addContactCallback
(
myCallback
,
"obstacle"
,
"ship"
,
PhysicsContactType
.
begin
);
_
physicsNode
.
addChild
(
_obstacle
);
_
physicsNode
.
addContactCallback
(
myCallback
,
"obstacle"
,
"ship"
,
PhysicsContactType
.
begin
);
addChild
(
physicsNode
);
addChild
(
_
physicsNode
);
userInteractionEnabled
=
true
;
}
void
myCallback
(
PhysicsContactType
type
,
PhysicsContact
contact
)
{
print
(
"CONTACT type:
$type
"
);
contact
.
nodeB
.
removeFromParent
();
}
bool
handleEvent
(
SpriteBoxEvent
event
)
{
if
(
event
.
type
==
"pointerdown"
)
{
Point
pos
=
convertPointToNodeSpace
(
event
.
boxPosition
);
_ship
.
position
=
pos
;
Sprite
shipA
;
shipA
=
new
Sprite
(
_spriteSheet
[
"ship.png"
]);
shipA
.
position
=
new
Point
(
pos
.
x
-
40.0
,
pos
.
y
);
shipA
.
size
=
new
Size
(
64.0
,
64.0
);
shipA
.
physicsBody
=
new
PhysicsBody
(
new
PhysicsShapeCircle
(
Point
.
origin
,
32.0
),
friction:
0.5
,
tag:
"ship"
);
_physicsNode
.
addChild
(
shipA
);
shipA
.
physicsBody
.
applyLinearImpulse
(
new
Offset
(
randomSignedDouble
()
*
5.0
,
randomSignedDouble
()
*
5.0
),
shipA
.
position
);
Sprite
shipB
;
shipB
=
new
Sprite
(
_spriteSheet
[
"ship.png"
]);
shipB
.
position
=
new
Point
(
pos
.
x
+
40.0
,
pos
.
y
);
shipB
.
size
=
new
Size
(
64.0
,
64.0
);
shipB
.
physicsBody
=
new
PhysicsBody
(
new
PhysicsShapePolygon
([
new
Point
(-
25.0
,
-
25.0
),
new
Point
(
25.0
,
-
25.0
),
new
Point
(
25.0
,
25.0
),
new
Point
(-
25.0
,
25.0
)]),
friction:
0.5
,
tag:
"ship"
);
_physicsNode
.
addChild
(
shipB
);
new
PhysicsJointWeld
(
shipA
.
physicsBody
,
shipB
.
physicsBody
);
}
return
true
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录