我一直在关注他们网站上的一些初学者颤振教程,并且正在编写本教程以实现基本的交互性,特别是使用父窗口小部件来管理子窗口小部件的状态的部分。有一个ParentWidgetand_ParentWidgetState类,其代码如下:
class ParentWidget extends StatefulWidget {
@override
_ParentWidgetState createState() => _ParentWidgetState();
}
class _ParentWidgetState extends State<ParentWidget> {
bool _active = false;
void _handleTapboxChanged(bool newValue) {
setState(() {
_active = newValue;
});
}
@override
Widget build(BuildContext context) {
return Container(
child: TapboxB(
active: _active,
onChanged: _handleTapboxChanged,
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
TapboxB是 的子类ParentWidget,其代码如下:
class TapboxB extends StatelessWidget {
TapboxB({this.active: false, @required this.onChanged});
final bool active;
final ValueChanged<bool> onChanged;
void _handleTap() {
onChanged(!active);
} …Run Code Online (Sandbox Code Playgroud) 我目前有一个“CreateMesh”脚本,可以将其作为具有网格渲染器和网格过滤器的对象的组件,并且在给定“MeshType”变量的情况下,使用网格尺寸中的多边形碰撞器创建二维网格设置为“tri”或“box”(分别用于三角形和矩形网格。)我还想添加创建圆形网格的能力,但是从一些研究中我意识到这并不像我第一次那么简单想法。但是,我还没有找到任何有帮助的东西。
这是我的长方体和三角形网格的代码:
public float width = 5f;
public float height = 5f;
public string meshType;
public PolygonCollider2D polyCollider;
void Start()
{
polyCollider = GetComponent<PolygonCollider2D>();
}
// Update is called once per frame
void Update () {
if (meshType == "tri")
{
TriangleMesh(width, height);
}
if (meshType == "box")
{
BoxMesh(width, height);
}
}
void TriangleMesh(float width, float height)
{
MeshFilter mf = GetComponent<MeshFilter>();
Mesh mesh = new Mesh();
mf.mesh = mesh;
//Verticies
Vector3[] verticies = new Vector3[3]
{
new Vector3(0,0,0), …Run Code Online (Sandbox Code Playgroud) 我有一个动态表单系统,它基于 json 构建小部件。可以解析的组件之一是复选框,并传递默认值来确定它最初是否被选中/取消选中。我正在为此编写一个单元测试,但遇到了语义问题。
我的测试从检查小部件是否已构建开始(以下测试成功)
//create form
await tester.pumpWidget(buildTestableWidget(testWidget));
//setup Finder
Finder widgetFinder = find.widgetWithText(FormCheckbox, "test checkbox");
//test for widget
expect(widgetFinder, findsOneWidget);
Run Code Online (Sandbox Code Playgroud)
班级FormCheckbox如下
class FormCheckbox extends StatefulWidget {
final forms.Checkbox component;
FormCheckbox(this.component) : super(key: Key("${component.propertyKey().getId()}"));
_FormCheckboxState createState() => _FormCheckboxState(component);
}
class _FormCheckboxState extends State<FormCheckbox> {
_FormCheckboxState(this._component) {
this.boxValue = _component.isDefaultSelected();
}
final forms.Checkbox _component;
bool boxValue;
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.only(left: 16, right: 16, top: 6, bottom: 6),
child: ListTile(
leading: Material(
child: Checkbox( …Run Code Online (Sandbox Code Playgroud) 我已经使用 C# 一段时间了,但主要是在 Unity 中。我最近才开始在 Visual Studio 中简单地编写 C# 代码。
我只是在玩弄一个带有数组的队列,并对构造函数进行了一些研究。在我的 Queue 类中,我有一个为数组本身设置实例的构造函数:
public class Queue
{
int front = 0;
int rear = -1;
int size = 0;
const int maxSize = 5;
int[] queue;
public Queue()
{
queue = new int[maxSize];
}
//rest of class
}
Run Code Online (Sandbox Code Playgroud)
然后在调用的类中创建一个队列并使用它进行一些测试等,我使用了一个 main 方法:
class program
{
static void Main()
{
Queue myQueue = new Queue();
myQueue.enQueue(1);
myQueue.enQueue(2);
myQueue.enQueue(3);
myQueue.enQueue(4);
myQueue.enQueue(5);
myQueue.enQueue(6);
Console.WriteLine(myQueue.deQueue());
Console.WriteLine(myQueue.deQueue());
myQueue.enQueue(6);
myQueue.enQueue(7);
Console.WriteLine(myQueue.deQueue());
Console.WriteLine(myQueue.deQueue());
Console.WriteLine(myQueue.deQueue());
Console.WriteLine(myQueue.deQueue());
Console.WriteLine(myQueue.deQueue());
Console.WriteLine(myQueue.deQueue());
Console.ReadLine(); …Run Code Online (Sandbox Code Playgroud) c# ×2
dart ×2
flutter ×2
constructor ×1
flutter-test ×1
main-method ×1
mesh ×1
testing ×1
unit-testing ×1