當前位置: 首頁>>代碼示例>>Java>>正文


Java PbWorld類代碼示例

本文整理匯總了Java中org.box2d.proto.Box2D.PbWorld的典型用法代碼示例。如果您正苦於以下問題:Java PbWorld類的具體用法?Java PbWorld怎麽用?Java PbWorld使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


PbWorld類屬於org.box2d.proto.Box2D包,在下文中一共展示了PbWorld類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: serialize

import org.box2d.proto.Box2D.PbWorld; //導入依賴的package包/類
@Override
public SerializationResult serialize(World argWorld) {
  final PbWorld world = serializeWorld(argWorld).build();
  return new SerializationResult() {
    @Override
    public void writeTo(OutputStream argOutputStream) throws IOException {
      world.writeTo(argOutputStream);
    }

    @Override
    public Object getValue() {
      return world;
    }
  };
}
 
開發者ID:unktomi,項目名稱:form-follows-function,代碼行數:16,代碼來源:PbSerializer.java

示例2: deserializeWorld

import org.box2d.proto.Box2D.PbWorld; //導入依賴的package包/類
@Override
public World deserializeWorld(InputStream argInput) throws IOException {
  PbWorld world = PbWorld.parseFrom(argInput);
  return deserializeWorld(world);
}
 
開發者ID:unktomi,項目名稱:form-follows-function,代碼行數:6,代碼來源:PbDeserializer.java

示例3: serializeWorld

import org.box2d.proto.Box2D.PbWorld; //導入依賴的package包/類
public PbWorld.Builder serializeWorld(World argWorld) {
  final PbWorld.Builder builder = PbWorld.newBuilder();
  if (signer != null) {
    Long tag = signer.getTag(argWorld);
    if (tag != null) {
      builder.setTag(tag);
    }
  }

  builder.setGravity(vecToPb(argWorld.getGravity()));
  builder.setAllowSleep(argWorld.isAllowSleep());
  builder.setContinuousPhysics(argWorld.isContinuousPhysics());
  builder.setWarmStarting(argWorld.isWarmStarting());
  builder.setSubStepping(argWorld.isSubStepping());

  Body cbody = argWorld.getBodyList();
  int cnt = 0;
  HashMap<Body, Integer> bodies = new HashMap<Body, Integer>();

  while (cbody != null) {
    builder.addBodies(serializeBody(cbody));
    bodies.put(cbody, cnt);
    cnt++;
    cbody = cbody.m_next;
  }
  cnt = 0;
  HashMap<Joint, Integer> joints = new HashMap<Joint, Integer>();
  Joint cjoint = argWorld.getJointList();
  // first pass
  while (cjoint != null) {
    if (SerializationHelper.isIndependentJoint(cjoint.getType())) {
      builder.addJoints(serializeJoint(cjoint, bodies, joints));
      joints.put(cjoint, cnt);
      cnt++;
    }
    cjoint = cjoint.m_next;
  }

  // second pass for dependent joints
  cjoint = argWorld.getJointList();
  while (cjoint != null) {
    if (!SerializationHelper.isIndependentJoint(cjoint.getType())) {
      builder.addJoints(serializeJoint(cjoint, bodies, joints));
      joints.put(cjoint, cnt);
      cnt++;
    }
    cjoint = cjoint.m_next;
  }

  return builder;
}
 
開發者ID:unktomi,項目名稱:form-follows-function,代碼行數:52,代碼來源:PbSerializer.java


注:本文中的org.box2d.proto.Box2D.PbWorld類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。