generic image
Processing...
  • Games
  • Catalog
  • Develop
  • Robux
  • Search in Players
  • Search in Games
  • Search in Catalog
  • Search in Groups
  • Search in Library
  • Log In
  • Sign Up
  • Games
  • Catalog
  • Develop
  • Robux
   
ROBLOX Forum » Game Creation and Development » Scripters
Home Search
 

Re: Can u tween rotation???

Previous Thread :: Next Thread 
LordOfTheClockwork is not online. LordOfTheClockwork
Joined: 01 Aug 2015
Total Posts: 957
15 Feb 2016 04:03 PM
If so how?
Report Abuse
Trioxide is not online. Trioxide
Joined: 29 Mar 2011
Total Posts: 32902
15 Feb 2016 04:06 PM
You make your own function.
Report Abuse
LordOfTheClockwork is not online. LordOfTheClockwork
Joined: 01 Aug 2015
Total Posts: 957
15 Feb 2016 04:07 PM
Like

for i = 1, 360 do
script.Parent.Rotation=i
wait()
end
Report Abuse
cheesecake123456 is not online. cheesecake123456
Joined: 01 Jun 2009
Total Posts: 1529
15 Feb 2016 04:10 PM
Excactly, except put a longer wait


Report Abuse
cheesecake123456 is not online. cheesecake123456
Joined: 01 Jun 2009
Total Posts: 1529
15 Feb 2016 04:11 PM
Nvm


Report Abuse
RecurringNightmare is not online. RecurringNightmare
Joined: 05 Jul 2012
Total Posts: 15336
15 Feb 2016 04:13 PM
what cheesecake said
Report Abuse
cheesecake123456 is not online. cheesecake123456
Joined: 01 Jun 2009
Total Posts: 1529
15 Feb 2016 04:14 PM
This is twice as fast(according to tick()):

for i = 1, 360 do
game:GetService('RunService').RenderStepped:wait()
frame.Rotation = i
end


Report Abuse
LegendaryAccount is not online. LegendaryAccount
Joined: 02 Jun 2010
Total Posts: 13193
15 Feb 2016 04:24 PM
something I found

--[[
Given the following method call:
object:TweenPosition(...)
Replace it with:
tween.Position(object, ...)
Available functions:
- Size
- Position
- SizeAndPosition
- Rotation
]]

-- Coerce a value to a given enum. Like most parts of the ROBLOX API, this
-- accepts valid strings/intgers. A default value may also be specified.
local toEnum do
local cache = {}
function toEnum(value,enum,default)
local map = cache[enum]
if not map then
map = {}
local items = enum:GetEnumItems()
for i = 1,#items do
local item = items[i]
map[item] = item
map[item.Name] = item
map[item.Value] = item
end
cache[enum] = map
end

value = map[value]

if value == nil then
return map[default]
end

return value
end
end

-- Implementation of EasingDirection
local directionMethod = {
[Enum.EasingDirection.In] = function(t,f)
return f(t)
end;
[Enum.EasingDirection.Out] = function(t,f)
return 1- f(1 - t)
end;
[Enum.EasingDirection.InOut] = function(t,f)
if t <= 0.5 then
return f(2*t)/2
else
return (2-f(2*(1-t)))/2
end
end;
}

-- Implementation of EasingStyle. Not 1:1 with ROBLOX's tween functions.
local styleMethod = {
-- matches mathematically
[Enum.EasingStyle.Linear] = function(x)
return x
end;
-- does not match, but very similar
[Enum.EasingStyle.Sine] = function(x)
return x^2 + x^2.6 - x^3
end;
-- close enough
[Enum.EasingStyle.Back] = function(x)
return x^2 * ((1.75 + 1) * x - 1.75)
end;
-- matches mathematically
[Enum.EasingStyle.Quad] = function(x)
return x^2
end;
-- matches mathematically
[Enum.EasingStyle.Quart] = function(x)
return x^4
end;
-- matches mathematically
[Enum.EasingStyle.Quint] = function(x)
return x^5
end;
-- appears to match perfectly
[Enum.EasingStyle.Bounce] = function(x)
x = x < 0 and -x or x
local a = 0
local b = 1
while true do
if x >= (7 - 4 * a) / 11 then
return -((11 - 6 * a - 11 * x) / 4)^2 + b^2
end
a = a + b
b = b / 2
end
end;
-- does not match, but looks way better
[Enum.EasingStyle.Elastic] = function(x)
return 2^(8 * (x-1)) * math.sin(2.5*math.pi*x)
end;
}

-- Holds functions that interpolate from one value to another given t, per
-- property name.
local propertyMethod = {}

function propertyMethod.Position(s,e,t)
return UDim2.new(
s.X.Scale+(e.X.Scale-s.X.Scale)*t,
s.X.Offset+(e.X.Offset-s.X.Offset)*t,
s.Y.Scale+(e.Y.Scale-s.Y.Scale)*t,
s.Y.Offset+(e.Y.Offset-s.Y.Offset)*t
)
end

propertyMethod.Size = propertyMethod.Position

function propertyMethod.Rotation(s,e,t)
return s+(e-s)*t
end

-- holds a mutex state per object, per property
local states = {
Position = {};
Size = {};
Rotation = {};
}

local step = Game:GetService('RunService').RenderStepped

function tweenBase(prop,object,endValue,easingDirection,easingStyle,time,override,callback)
-- check if the given property is already being tweened
local state = states[prop][object]
if state then
if override then
-- end that tween to make way for this one
state[1] = false
states[prop][object] = nil
else
return false
end
end

easingDirection = toEnum(easingDirection,Enum.EasingDirection,'Out')
easingStyle = toEnum(easingStyle,Enum.EasingStyle,'Quad')
time = time or 1

-- A bool within a table is used so that the value remains unique to this
-- thread.
local state = {true}
states[prop][object] = state

local dirMethod = directionMethod[easingDirection]
local styleMethod = styleMethod[easingStyle]
local propMethod = propertyMethod[prop]

local startValue = object[prop]
local startTime = tick()
Spawn(function()
while true do
-- This this state was overridden, cancel the tween
if not state[1] then
if callback then
-- Tail call! This entire thread gets cleaned up before
-- the callback runs.
return callback(Enum.TweenStatus.Canceled)
end
return
end

local dt = (tick()-startTime)/time
if dt > 1 then break end

local t = dirMethod(dt,styleMethod)
object[prop] = propMethod(startValue,endValue,t)

step:wait()
end

object[prop] = endValue

states[prop][object] = nil

if callback then
return callback(Enum.TweenStatus.Completed)
end
end)

return true
end

return {
Position = function(...)
return tweenBase('Position',...)
end;
Size = function(...)
return tweenBase('Size',...)
end;
SizeAndPosition = function(object,size,position,dir,style,time,override,callback)
if not override then
-- fail if one or the other would fail
if states.Size[object] or states.Position[object] then
return false
end
end

tweenBase('Size',object,size,dir,style,time,override,callback)
tweenBase('Position',object,position,dir,style,time,override,callback)
return true
end;
Rotation = function(...)
return tweenBase('Rotation',...)
end;
}


Report Abuse
Previous Thread :: Next Thread 
Page 1 of 1
 
 
ROBLOX Forum » Game Creation and Development » Scripters
   
 
   
  • About Us
  • Jobs
  • Blog
  • Parents
  • Help
  • Terms
  • Privacy

©2017 Roblox Corporation. Roblox, the Roblox logo, Robux, Bloxy, and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.



Progress
Starting Roblox...
Connecting to Players...
R R

Roblox is now loading. Get ready to play!

R R

You're moments away from getting into the game!

Click here for help

Check Remember my choice and click Launch Application in the dialog box above to join games faster in the future!

Gameplay sponsored by:
Loading 0% - Starting game...
Get more with Builders Club! Join Builders Club
Choose Your Avatar
I have an account
generic image