efl/legacy/edje/src/examples/physics_complex.edc

138 lines
3.3 KiB
Plaintext

collections {
images {
image: "bubble-blue.png" COMP;
}
group {
name: "example_group";
parts {
part {
name: "background";
type: RECT;
physics_body: NONE;
description {
state: "default" 0.0;
color: 255 255 255 255; /* white */
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
}
}
part {
name: "red_box";
type: RECT;
physics_body: RIGID_BOX;
description {
state: "default" 0.0;
color: 255 0 0 255; /* light red */
rel1.relative: 0.45 0.1;
rel2.relative: 0.55 0.2;
aspect: 1 1;
physics {
mass: 10.8;
restitution: 0.85;
friction: 1.0;
}
}
description {
state: "heavier" 0.0;
inherit: "default" 0.0;
color: 120 0 0 255; /* dark red */
physics {
mass: 30;
restitution: 0;
damping: 0.4 0.2;
sleep: 18 13.4;
}
}
}
part {
name: "box_shadow";
type: RECT;
description {
state: "default" 0.0;
color: 0 0 0 120;
rel1 {
to_y: "red_box";
relative: 0.9 0.1;
}
rel2 {
to_y: "red_box";
relative: 1 0.9;
}
}
}
part {
name: "blue_circle";
type: IMAGE;
physics_body: RIGID_CIRCLE;
description {
state: "default" 0.0;
rel1.relative: 0.75 0.1;
rel2.relative: 1 0.3;
aspect: 1 1;
image {
normal: "bubble-blue.png";
}
physics {
ignore_part_position: 0;
restitution: 0.6;
}
}
description {
state: "left" 0.0;
inherit: "default" 0.0;
rel1.relative: 0 0.1;
rel2.relative: 0.25 0.3;
}
}
part {
name: "floor";
type: RECT;
physics_body: BOUNDARY_BOTTOM;
description {
state: "default" 0.0;
visible: 0;
physics {
restitution: 0.9;
}
}
}
}
programs {
program {
name: "change_box";
signal: "load";
in: 2 0;
action: STATE_SET "heavier" 0.0;
transition: LINEAR 1.5;
target: "red_box";
}
program {
name: "change_circle";
signal: "load";
in: 3 0;
action: STATE_SET "left" 0.0;
target: "blue_circle";
after: "change_circle_2";
}
program {
name: "change_circle_2";
in: 3 0;
action: STATE_SET "default" 0.0;
target: "blue_circle";
after: "change_circle";
}
}
}
}