我是React JS的新手(就像今天刚刚开始的那样).我不太明白setState是如何工作的.我将React和Easel JS结合起来根据用户输入绘制网格.这是我的JS bin:http://jsbin.com/zatula/edit? js, output
这是代码:
var stage;
var Grid = React.createClass({
getInitialState: function() {
return {
rows: 10,
cols: 10
}
},
componentDidMount: function () {
this.drawGrid();
},
drawGrid: function() {
stage = new createjs.Stage("canvas");
var rectangles = [];
var rectangle;
//Rows
for (var x = 0; x < this.state.rows; x++)
{
// Columns
for (var y = 0; y < this.state.cols; y++)
{
var color = "Green";
rectangle = new createjs.Shape();
rectangle.graphics.beginFill(color);
rectangle.graphics.drawRect(0, 0, …Run Code Online (Sandbox Code Playgroud) 我希望有一个随机颜色,其中定义了"深红色"
var stage = new createjs.Stage("demoCanvas");
var circle = new createjs.Shape();
circle.graphics.beginFill("Crimson").drawCircle(0, 0, 50);
circle.x = 100;
circle.y = 100;
stage.addChild(circle);
stage.update();
Run Code Online (Sandbox Code Playgroud) 作为一个小问题,我得到了解决方案!但为什么会这样呢?
var label = new Text(text.toString(), "20px Arial", "orange");
label.textAlign = "center";
label.x = 708;
label.y = 435;
label.maxWidth=40;
stage.addChild(label);
Run Code Online (Sandbox Code Playgroud)
首先,我没有添加label.maxWidth = 40.还有一些令人惊叹的happing,它适用于Ubuntu上的firefox和chrome!然而,它在窗户上没有显示铬.
附上官方网站http://easeljs.com/docs/Text.html上的maxWidth声明
maxWidth - Number绘制文本的最大宽度.如果指定了maxWidth(非null),则会压缩或缩小文本以使其适合此宽度.
我正在制作一个射击游戏,我需要通过将它们绑定到 'tick' 事件来更新子弹的状态,但是当调用 remove 方法将它们从 'tick' 事件中删除时,它不会删除它。创建一个新实例后,它会不断更新,而不是绑定的那个。
方法 'add'/'remove' 用于从 'tick' 事件绑定/解除绑定方法
class window.Stage
stage = undefined
counter = 0
fps = 60
add: (element) =>
element.id = counter++
stage.addChildAt(element.view, element.id)
element.listener = createjs.Ticker.on("tick", element.update)
remove: (element) =>
createjs.Ticker.off("tick", element.listener) # Not removing!
stage.removeChildAt(element.id)
update: () =>
stage.update()
Run Code Online (Sandbox Code Playgroud)
这就是我在 Game 类中调用 remove 方法的方式
run: () =>
if @gun? && !@gun.alive
@stage.remove(@gun)
@gun = undefined
if @player.shooting() && !@gun?
@gun = @player.shoot() # Ticker keeps updating new instance
@stage.add(@gun)
for bunker …Run Code Online (Sandbox Code Playgroud) 这对我来说是一个非常棘手的问题(或者我只是非常愚蠢).尝试使用JQuery功能,当用户选择某个单选按钮时,下面的表单会相应更改(例如,个人看到姓名,公司,职位,电话,电子邮件和地址.公司只看到公司,电话,电子邮件和地址.但目前点击单选按钮无效.
我还想问:1)是我的函数$('#contactType> input').在正确的地方(在其中)还是应该在其他地方?2)我可以使用index.js文件来简化它吗?如果是这样,如何做链接index.js?它只是
干杯.
$(document).ready(function() {
listenForInputChanges();
})
function listenForInputChanges() {
$('#contactType >input').change(function() {
console.log('val is ' + $(this).val())
switch ($(this).val()) {
case 'individual':
$('#nameDiv').show();
$('#companyDiv').show();
$('#titleDiv').show();
$('#phoneDiv').show();
$('#emailDiv').show();
$('#addressDiv').show();
break;
case 'team':
$('#nameDiv').show();
$('#companyDiv').show();
$('#titleDiv').hide();
$('#phoneDiv').show();
$('#emailDiv').show();
$('#addressDiv').show();
break;
case 'company':
$('#nameDiv').hide();
$('#companyDiv').show();
$('#titleDiv').hide();
$('#phoneDiv').show();
$('#emailDiv').show();
$('#addressDiv').show();
break;
}
})
}Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head>
<title>Create new contact</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">
</script>
</head>
<body>
<div class="container">
<div class="row">
<form method="post" class="form-horizontal col-md-6 col-md-offset-3">
<h2>Motoko Insurance …Run Code Online (Sandbox Code Playgroud)chrome版本从70升级到71后createjs文字位置发生变化,请指导。