Simple walker
2 posters
RigidChips :: Rigid-Chips :: Files :: Others
Page 1 of 1
Simple walker
Arrow key:move
Z/X:engine
Z/X:engine
- Code:
// [RCD]
Val
{
ANGLE1(default=0, min=-30, max=30)
ANGLE2_1(default=30, max=60)
ANGLE2_1L(default=30, max=60)
ANGLE2_1R(default=30, max=60)
ANGLE2_2(default=30, max=60)
ANGLE2_2L(default=30, max=60)
ANGLE2_2R(default=30, max=60)
COL1(default=#FF8000, disp=0)
COL2(default=#C0C0C0, disp=0)
}
Key
{
}
Body
{
Core(color=col1) {
S:Chip(color=col1) {
W:Rudder(angle=angle1, color=col2) {
W:Weight(angle=angle2_1l, color=col1) { }
}
E:Rudder(angle=angle1, color=col2) {
E:Weight(angle=angle2_2r, color=col1) { }
}
S:Chip(color=col1) {
S:Chip(color=col1) {
E:Rudder(angle=-angle1, color=col2) {
E:Weight(angle=angle2_1r, color=col1) { }
}
W:Rudder(angle=-angle1, color=col2) {
W:Weight(angle=angle2_2l, color=col1) { }
}
S:Chip(color=col1) {
S:Chip(color=col1) {
W:Rudder(angle=angle1, color=col2) {
W:Weight(angle=angle2_1l, color=col1) { }
}
E:Rudder(angle=angle1, color=col2) {
E:Weight(angle=angle2_2r, color=col1) { }
}
S:Chip(color=col1) { }
}
}
}
}
}
}
}
Lua
{angle1=0
angle2_1=30
angle2_2=30
engine=0
function main()
--なるべく最初に記述
angle1=ANGLE1
out(0,"engine",engine)
engine=engine+_KEYDOWN(4)-_KEYDOWN(5)
engine=math.min(10,math.max(0,engine))
ANGLE1=30*math.sin(_TICKS()/10*engine)
if angle1<ANGLE1 then angle2_1=30 angle2_2=40
elseif angle1>ANGLE1 then angle2_1=40 angle2_2=30 end
if _KEY(0)==1 then ANGLE2_1R=angle2_1 ANGLE2_1L=angle2_1 ANGLE2_2R=angle2_2 ANGLE2_2L=angle2_2 end
if _KEY(1)==1 then ANGLE2_1R=angle2_2 ANGLE2_1L=angle2_2 ANGLE2_2R=angle2_1 ANGLE2_2L=angle2_1 end
if _KEY(2)==1 then ANGLE2_1R=angle2_1 ANGLE2_1L=angle2_2 ANGLE2_2R=angle2_2 ANGLE2_2L=angle2_1 end
if _KEY(3)==1 then ANGLE2_1R=angle2_2 ANGLE2_1L=angle2_1 ANGLE2_2R=angle2_1 ANGLE2_2L=angle2_2 end
end}
orrrrz- Tank
- Posts : 55
Join date : 2012-06-19
Age : 29
Location : Tokyo
RigidChips :: Rigid-Chips :: Files :: Others
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum