我觉得我错过了一些明显的东西,但是如何从渲染树中删除节点并正确销毁它们?
看起来我可以做类似的事情mainCtx._node._child.splice(2,1)
,但这并不适用于所有情况(Scrollviews似乎坚持不懈),并假设API中有相关内容,但我似乎无法找到它.
2技术:
我来自流星边,我个人喜欢使用{{mustache}}(把手)从数据驱动gui,反应式会话/数据库使这真的高效和直观.
现在来了famo.us及其所有优点,但基于代码的gui的缺点是不再有把手的地方......
我今天早些时候(在TechCrunch.com上)遇到了这个概念证明,并且对于他们如何设法完成最终结果感到震惊和好奇.他们表示他们不使用webGL或任何插件,但他们能够直接与GPU交互并使用Javascript以高达60 fps的速度呈现3D视觉效果.任何想法如何做到这一点,或如何在不使用插件的情况下从Javascript访问GPU?
网站地址是:famo.us
ps:尝试使用箭头键将方向移向远方!
Famo.us曲面有一种设置曲面大小的方法.它们具有"大小"属性,该属性采用2个数字的数组,这些数字直接对应于像素值.在处理具有大量不同屏幕尺寸的移动设备时,这不是非常有用.这将要求用户对父容器的大小进行数学计算,而不是Famo.us在幕后进行数学运算.
如果没有给出其中一个值,它将使用该维度的100%可用,但我无法看到指定50%或33%.
var firstSurface = new Surface({
size: [100, 400],
content: 'hello world',
properties: {
color: 'white',
textAlign: 'center',
backgroundColor: '#FA5C4F',
width: "200px"
}
});
Run Code Online (Sandbox Code Playgroud)
无论第0个数组元素是否被删除,"width"属性都不会执行任何操作,即使它声称可以在camelCase中使用CSS属性.我认为这将是使用%的正确方法,但事实并非如此.
我看到famo.us 示例主要是指Modifier类,但famo.us大学教程主要引用StateModifier类.
这两者有何不同,哪种是最合适的应用?
我找到了Famo.us,看起来很令人兴奋,但他们的文档已经关闭了.我对WebGL非常好奇,所以我开始寻找替代方案.我找到了Three.js和Clara.io.
他们与famo.us有何不同?每个框架的主要目标是什么?
谢谢.
编辑:改述.
举例来说,在基于引导程序的应用程序中,我可能会编写标记,使网格对于大屏幕为8列宽,对于小屏幕为2列宽.
屏幕尺寸肯定会对屏幕设计产生影响,我想知道在我开始在famo.us中尝试之前要遵循什么样的模式.看到famo.us是"意见",这里应该只有一个答案:)
我全都是移动优先设计,但我不想要的是桌面应用程序,它只是一个延伸400%的移动应用程序.
谢谢,
安德鲁
我想拖动一个着名的表面,当我放开它时让它回到原来的位置.我已经采用了"拖动"示例并修改了它,但是当mouseup
回调触发时(我检查过console.log
),修改器转换不是.这是相关的代码:
var surface = new Surface({
size: [200, 200],
content: 'drag',
properties: {
backgroundColor: 'rgba(200, 200, 200, 0.5)',
lineHeight: '200px',
textAlign: 'center',
cursor: 'pointer'
}
});
var draggable = new Draggable({
xRange: [-220, 220],
yRange: [-220, 220]
});
surface.pipe(draggable);
var mod = new Modifier();
var trans = {
method: 'snap',
period: 300,
dampingRatio: 0.3,
velocity: 0
};
surface.on('mouseup', function() {
mod.setTransform(Transform.translate(0, 0, 0), trans);
});
mainContext.add(mod).add(draggable).add(surface);
Run Code Online (Sandbox Code Playgroud)
相当肯定它与顺序/方式,我做add
他们-ing到mainContext
结尾,并在事件被触发的顺序.我做错了什么/误会?
我很满意"这里有各种各样的东西,现在去做一些东西"的方式,Famo.us已经出现了,但如果我想要如何设置我的项目,结构,模块等,我会很乐意.
为什么没有实际网页的演示,而不是单屏iPhone视图(甚至可能像Famo.us大学)?
是否可以在一般大小的DOM元素(如Web组件)中使用Famo.us?在现有的HTML结构中?
根据我的理解,可以在渲染中放入任何你想要的东西,但是如何适应多种屏幕尺寸?我是否应该开始以不同的"断点大小"(sm-surface md-surface lg-surface)构建我自己的曲面库,并根据视口大小创建脚本包含?
我正在构建一个需要物理引擎的站点.与许多SPA应用程序合作后,我感到非常自信.
不幸的是,我在将碰撞检测和墙壁应用于着名的物理模拟时遇到了麻烦.
您可以在此处查看可编辑示例.
https://staging.famous.org/examples/index.html?block=gravity3d&detail=false&header=false
Run Code Online (Sandbox Code Playgroud)
我想知道的是有可能在粒子上添加碰撞吗?我试过这个,但看起来碰撞设置不正确.我希望有人成功地做到了.
谢谢!
var FamousEngine = famous.core.FamousEngine;
var Camera = famous.components.Camera;
var DOMElement = famous.domRenderables.DOMElement;
var Gravity3D = famous.physics.Gravity3D;
var Gravity1D = famous.physics.Gravity1D;
var MountPoint = famous.components.MountPoint;
var PhysicsEngine = famous.physics.PhysicsEngine;
var Physics = famous.physics;
var Wall = famous.physics.Wall;
var Position = famous.components.Position;
var Size = famous.components.Size;
var Sphere = famous.physics.Sphere;
var Vec3 = famous.math.Vec3;
var Collision = famous.physics.Collision;
function Demo() {
this.scene = FamousEngine.createScene('#socialInteractive');
this.camera = new Camera(this.scene);
this.camera.setDepth(1000);
this.simulation = new PhysicsEngine();
this.items = []; …
Run Code Online (Sandbox Code Playgroud)