简单回答一下吧。
我们提供的服务有:网站制作、成都网站设计、微信公众号开发、网站优化、网站认证、索县ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的索县网站制作公司
Blockly是Google开源出来的一个图形化编程框架,它的出现使得拖拖拽拽就能够把大部分的编程逻辑描述出来,这合适非程序员和小孩。Blockly作为一个框架只提供了基本的封装,而大部分的函数(功能)得根据具体的情况再进行封装,如你说到的绘制一个矩形的功能也是需要根据具体情况来封装来,再比如我之前用到的Espruino Web IDE就是封装了很多单片机硬件操作功能(我也是通过它认识的Blockly,所以提一下)。
回到Blockly画一个正方形,这里有一个Blockly的在线小游戏Blockly Games : Turtle Graphics,不知道奥玩的是否是这个游戏,这个游戏的第一关就是用Blockly代码画一个正方形。
打开游戏界面之后就是下图了,中间的Turle和Loops是功能模块选择,从中选择一个循环设置为循环4次、再选择一个直行操作和一个拐弯操作,做出如下图所示的组合,点击左边的Run Programe执行游戏:
图片描述
如果正常的话你可以看到左边的游戏界面上画出了一个正方形,同时在右边可以看到你的所有Blockly生成的js代码(没错就是四行),
图片描述
当然,除了用循环的方式来做你也可以老老实实的直走、右转90度、直走、右转90度、直走、右转90度、直走来完成第一关(可能大部分非程序员就是这种逻辑了)。
在刚刚生成的Blockly代码里面,"直走moveForward"和"右转turnRight"都是这个游戏对Blockly进行的封装。我也只玩了第一关,说句实在的,这种方式对程序员来讲还是太low了,突然间觉得比奥厉害很多了有没有。
转载,仅供参考。
script type="text/javascript"
window.onload = function(){
var c = document.getElementById("myCanvas");
var content = c.getContext("2d");
//绘制二次方贝塞尔曲线
content.strokeStyle ="#FF5D43";
content.beginPath();
content.moveTo(0,200);
content.quadraticCurveTo(75,50,300,200);
content.stroke();
content.globalCompositeOperation = "source-over"; //目标图像上显示源图像
//绘制上面曲线的控制点和控制线,控制点坐标为两直线的交点(75,50)
content.strokeStyle = "#f0f";
content.beginPath();
content.moveTo(75,50);
content.lineTo(0,200);
content.moveTo(75,50);
content.lineTo(300,200);
content.stroke();
};
$('#reset').click(function(){//重置
$('img').css({"left":"0","top":"100px"});
});
$('#left').click(function(){//左
$('img').animate({
left:"-=10",
},500);
});
$('#right').click(function(){//右
$('img').animate({
left:"+=10",
},500);
});
$('#up').click(function(){//上
$('img').animate({
top:"-=10",
},500);
});
$('#down').click(function(){//下
$('img').animate({
top:"+=10",
},500);
});
给图加上想对定位
这个问题你用baidu搜索一下,有很多的教程。。
;cl=3
1.
JAVASCRIPT经常通过用户提供的数据动态地生成条形图。总的来说这是由于条形图的简洁,它只是简单地由不确定长度的图形组成。我们使用JAVASCRIPT动态地画出每个图形,每个图形的长度和用户输入的数据有关。
我们需要的是以一个1x15的图形作为开始:
如果我想要拉长这幅图象到 50x15 ,我使用 JavaScript 这样做:
script
document.write(img src="poll.gif" width="50" height="15"')
/script
这就形成了动态图形的基础。这是一个我用JAVASCRIPT写的一个简单的脚本,它用来说明了图形创建的例子。
script
var graphtext=new Array("Jill", "Bob", "Tony") //图形项目
var graphvalue=new Array("60", "45", "95") //图形值 (使用的是百分比,例如70=70%)
var barlength=200
for (i=0;igraphtext.length;i++)
document.write (graphtext[i]+': img src="poll.gif" width="'+graphvalue[i]/100*barlength+'" height="15"br')
/script
Jill:
Bob:
Tony
代码的关键之处在于:width="'+graphvalue[i]/100*barlength+'"
这句话产生图形的宽度,这基于用户提供的数据。每个长度是输入值的百分比,然后乘以条形长度的基本长度。
2.
使用图形信息建立原始数据的图形。只给复杂图形的名称赋予一定的值(值可以是绝对值或百分比),剩下的留给脚本就行了。
图形信息允许你在同一个网页上生成不止一个图形文件,而这只需要多次的调用关键的函数。
Example:
Example 1 (using absolute values)
What is your favorite news site?
CNN
28%
MSNBC
36%
ABC News
11%
BBC News
25%
Total participants: 211
Example 2 (using percentage values)
What is your favorite news site?
CNN
28%
MSNBC
36%
ABC News
11%
BBC News
25%
因为EXAMPLE 1是用绝对值来创建的,脚本也在最后显示了总值。
指导
步骤一:下面是图形信息的两个版本。第一个要求图形值是绝对值,而第二个是相对值。
绝对方式:
What is your favorite news site?
script language="JavaScript1.2"
//JavaScript Graph-it! (Absolute)- by javascriptkit.com
//Visit JavaScript Kit () for script
//Credit must stay intact for use
var graphimage="poll.gif"
//DEFINE GRAPH VALUES [Item name, absolute value]
var graphx=new Array()
graphx[0]=["CNN",60]
graphx[1]=["MSNBC",75]
graphx[2]=["ABC News",24]
graphx[3]=["BBC News",52]
//YOU CAN DEFINE MULTIPLE GRAPHS, eg:
//var graphy=new Array()
function graphit(g,gwidth){
total=0
for (i=0;ig.length;i++)
total+=parseInt(g[i][1])
output='table border="0" cellspacing="0" cellpadding="0"'
for (i=0;ig.length;i++){
calpercentage=Math.round(g[i][1]*100/total)
calwidth=Math.round(gwidth*(calpercentage/100))
output+='trtd'+g[i][0]+' /tdtdimg src="'+graphimage+'" width="'+calwidth+'" height="10" '+calpercentage+'%/td/tr'
}
output+='/table'
document.write(output+'brTotal participants: b'+total+'/b')
}
//CALL GRAPHIT FUNCTION
//graphit(NAME OF GRAPH ARRAY, MAXIMUM WIDTH IN PIXELS)
graphit(graphx,200)
/script
p align="center"font face="arial" size="-2"This free script provided by/fontbr
font face="arial, helvetica" size="-2"a href=""JavaScript
Kit/a/font/p
相对方式:
What is your favorite news site?
script language="JavaScript1.2"
//JavaScript Graph-it! (Percentage)- by javascriptkit.com
//Visit JavaScript Kit () for script
//Credit must stay intact for use
var graphimageP="poll.gif"
//DEFINE GRAPH VALUES [Item name, Percentage value]
var graphv=new Array()
graphv[0]=["CNN","28%"]
graphv[1]=["MSNBC","36%"]
graphv[2]=["ABC News","11%"]
graphv[3]=["BBC News","25%"]
//YOU CAN DEFINE MULTIPLE GRAPHS, eg:
//var graphz=new Array()
function graphitP(g,gwidth){
outputP='table border="0" cellspacing="0" cellpadding="0"'
for (i=0;ig.length;i++){
calwidthP=gwidth*(parseInt(g[i][1])/100)
outputP+='trtd'+g[i][0]+' /tdtdimg src="'+graphimageP+'" width="'+calwidthP+'" height="10" '+g[i][1]+'/td/tr'
}
outputP+='/table'
document.write(outputP)
}
//CALL GRAPHIT FUNCTION
//graphitP(NAME OF GRAPH ARRAY, MAXIMUM WIDTH IN PIXELS)
graphitP(graphv,200)
/script
p align="center"font face="arial" size="-2"This free script provided by/fontbr
font face="arial, helvetica" size="-2"a href=""JavaScript
Kit/a/font/p
以上回答你满意么?
方法只有一个:
通过canvas的方式,在画布上画图
步骤:
1、定义一个canvas
2、获取canvas,然后通过画图
示例:canvas 元素来显示一个红色的矩形
canvas id="myCanvas"/canvas//定义一个canvas
script type="text/javascript"
var canvas=document.getElementById('myCanvas');//获取canvas
var ctx=canvas.getContext('2d');
ctx.fillStyle='#FF0000'; //图形填充色
ctx.fillRect(0,0,80,100); //绘制一个红色矩形
/script