2010-11-24 47 views

Répondre

0

Que signifie "disparaît dans un autre"? Vous pouvez utiliser une multitude de façons de simuler le glissement. Vous pouvez utiliser CFrame, BodyVelocity, BodyForce ou même BodyPosition. Vous pouvez même faire une brique sans frottement et glisser dessus. Y a-t-il autre chose que vous devez savoir? Si oui, commentez.

0

Eh bien, il y a un autre moyen plus réaliste et moins susceptible de faire faillite, vous pouvez simplement faire une brique, et sur la fonction, exemple onClick(), Vous pouvez le faire disparaître et une brique l'original Brick nonCanCollide, et la position du nouveau substitut se déplace dans la direction, aussi, j'aurais tendance à utiliser BodyPosition, parce que cela fonctionne pour la position et peut être utilisé pour les briques ancrées et non ancrées. Briques non ancrées à déplacer dans une direction, ce qui est un peu tedius, eh bien, je dis qu'il est moins susceptible d'échouer, car si le substitut échoue, alors la brique d'origine est toujours là, et vous pouvez faire un script de sauvegarde pour le sauver pauses.

J'espère que cela a aidé. -Orbian.

1

Il y a plusieurs façons de faire quelque chose comme ça, si je comprends ce que vous voulez essayer. Pour «glisser dans une autre brique et disparaître», vous pouvez faire 2 choses:

1) Avoir un BodyVelocity puissant dans la direction de l'autre brique, qui a un CanCollide de 0. Quand la brique entre en contact avec l'autre, il faudra attendre un peu de temps, puis se retirer.

2) Vous pouvez déplacer la brique en utilisant CFrame, en trouvant l'angle en utilisant CFrame.new (Brick1.Pos, Brick2.Pos), et en utilisant un système de frames pour ajouter ce CFrame au Brick1 CFrame, en créant l'effet de " mouvement". Vous retirez la brique lorsque les "cadres" se terminent.

-1

utiliser une bande transporteuse pour la faire glisser et faire une cancollide en briques et en faire la graisse thanthe c

0

D'après ce que je peux dire, vous voulez utiliser CFrame. Pour pouvoir faire bouger deux briques dans le même espace (avec les deux briques ayant un CanCollide = true), vous devez utiliser CFrame. Toutes les instances "Body" (BodyVelocity, BodyPosition) appliquent une force sur les briques, et ne peuvent donc pas les faire bouger dans le même espace.

Si vous voulez une porte coulissante vous pouvez utiliser ce script:

local StartPosition = script.Parent.CFrame 
local ToPosition = workspace.TargetPart.CFrame -- Make sure this is right 

function Open() 
    for i=0,100,1 do 
     script.Parent.CFrame = StartPosition + CFrame.new(StartPosition.p,ToPosition.p).lookVector *  ((StartPosition.p-ToPosition.p).magnitude/100) * i 
     wait(0.01) 
    end 
end 

function Close() 
    for i=100,0,-1 do 
     script.Parent.CFrame = StartPosition + CFrame.new(StartPosition.p,ToPosition.p).lookVector *  ((StartPosition.p-ToPosition.p).magnitude/100) * i 
     wait(0.01) 
    end 
end 

local Moving = false 
local IsOpen = false 
function Toggle() 
    if Moving then return end 
    Moving = true 

    if IsOpen then 
     Close() 
    else 
     Open() 
    end 
    IsOpen = not IsOpen 

    Moving = false 
end 

-- Following code is just for testing 
Toggle() 
wait(1) 
Toggle() 

Assurez-vous que la deuxième brique est plus grand que le premier.

0

Vous pouvez créer un script onClick qui fera en sorte qu'une brique ait de la vélocité pour glisser la deuxième brique en place, puis un nouveau script onClick pour rendre les effets de la vitesse négative afin de retirer la seconde brique.