Difference between revisions of "B2.setScale"
From GiderosMobile
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
<languages /> | <languages /> | ||
− | ''' | + | '''Available since:''' Gideros 2011.6<br/> |
− | ''' | + | '''Class:''' [[Special:MyLanguage/b2|b2]]<br/> |
− | === | + | |
− | + | === Description === | |
− | Box2D is tuned for MKS (meters-kilogram-second) units and the size of moving objects should roughly between 0.1 and 10 meters. | + | Box2D is tuned for MKS (meters-kilogram-second) units and the size of moving objects should be roughly between 0.1 and 10 meters. |
− | If you directly use the pixels as your units, | + | |
− | + | If you directly use the pixels as your units, this will unfortunately lead to a poor simulation and possibly weird behavior. | |
− | Gideros uses an internal scale system to convert between meters and pixels. By default, the value of this scale is 30 | + | |
− | which means 1 meter = 30 pixels. This is a global value and | + | Gideros uses an internal scale system to convert between meters and pixels. By default, the value of this scale is 30, which means 1 meter = 30 pixels. This is a global value and affects all the physics system. Therefore, it is recommended to set this value once before any physical objects are instantiated (e.g. right after calling ''require "box2d"'') |
− | value once before any physical objects are instantiated (e.g. right after calling ''require "box2d"'') | ||
− | |||
<source lang="lua"> | <source lang="lua"> | ||
− | + | b2.setScale(scale) | |
</source> | </source> | ||
− | === | + | |
− | '''scale''': (number) | + | === Parameters === |
+ | '''scale''': (number) the global pixels to meters scale <br/> | ||
+ | |||
+ | {{B2}} |
Revision as of 05:07, 17 February 2020
Available since: Gideros 2011.6
Class: b2
Description
Box2D is tuned for MKS (meters-kilogram-second) units and the size of moving objects should be roughly between 0.1 and 10 meters.
If you directly use the pixels as your units, this will unfortunately lead to a poor simulation and possibly weird behavior.
Gideros uses an internal scale system to convert between meters and pixels. By default, the value of this scale is 30, which means 1 meter = 30 pixels. This is a global value and affects all the physics system. Therefore, it is recommended to set this value once before any physical objects are instantiated (e.g. right after calling require "box2d")
b2.setScale(scale)
Parameters
scale: (number) the global pixels to meters scale